我有一个查询..
- Servlet 调用了一些业务逻辑(在“MyPack.abc”类中)并获得了一些返回值。
- 现在这个值被设置为会话“result”并调用了 sendRedirect("xy.jsp")。
- 我想借助
<jsp:useBean id="result" class="MyPack.abc" scope="session"></jsp:useBean>
但<jsp:useBean>
显示异常 CastException(Java.lang.String 无法转换为类)在 jsp 中获取此值。
这是代码:
index.jsp
<html>
<body>
<form action="MyController">
<input type="text" name="name"><br>
<input type="submit" name="b1" value="submit">
</form>
</body>
</html>
小服务程序MyController
import javax.servlet.*;
import java.io.*;
import javax.servlet.http.*;
import myPack.*;
public class MyController extends HttpServlet
{
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
abc d=new abc();
d.setName((String)request.getParameter("name"));
String s=(String) d.getName();
HttpSession session=request.getSession();
session.setAttribute("result",s);
response.sendRedirect("xy.jsp");
}
}
abc
myPack 中的 bean 类
package myPack;
public class abc {
public abc() { }
public String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
xy.jsp
<%@page contentType="text/html" pageEncoding="UTF-8" import="myPack.abc" %>
<html>
<body>
<jsp:useBean id="result" class="myPack.abc" scope="session"></jsp:useBean>
<jsp:getProperty property="name" name="r"></jsp:getProperty>
</body>
</html>
但它抛出了一个 CastException (Java.lang.String 不能转换为类)。