jsp servlet问题

来源:百度知道 编辑:UC知道 时间:2024/09/18 07:20:27
现有1.java中方法r()返回一个String值
需要在读取JSP页面时通过servlet在页面上输出该值
应该如何写
现在我用<jsp:usebean >
<jsp:useBean class="RRandom" id="ran" scope="page"></jsp:useBean>
出现以下错误(类在默认包下)
org.apache.jasper.JasperException: Unable to compile class for JSP:
JSP FileName:/reg.jsp
Java FileName:/D:/Tomcat 5.5/work/Catalina/localhost/rai_Lwork//org/apache/jsp\reg_jsp.java

An error occurred at line: 39 in the jsp file: /reg.jsp
RRandom cannot be resolved to a type
36: }
37: </script>
38: </head>
39: <jsp:useBean class="RRandom" id="ran" scope="page"></jsp:useBean>
40:
41: <body >

有2种方法:
1.直接在servlet里面输出(也就是 ajax_2003所说)
PrintWriter out = new response.getWriter();
out.print(r());
第2种:将这个返回值放到session、application、request等里面都可以
然后在servlet跳转到需要显示的jsp。
在jsp里面首先得到这个值session.getAttribute()或application.getAttribute()等方法得到。
比如:String str = session.getAttribute("?????");
然后用out.print(str);或者<%=str%>

在Servlet的Service方法中 这样写
PrintWriter out = new response.getWriter();
out.print(r());

我觉得你可以在r()方法中用request.setAttribute();方法将string值放进去
然后在jsp页面中直接用request.getparameter() 拿出来 然后用print方法打印即可

假设1.java中方法r()返回一个String值为String a,在C层request.setAttribute("a",a);,在M层request.getAttrbute("a");拿出就可以啦

在jsp中include这个r()方法所在的类路径(jsp中引用这个类)

在jsp想要输出的地方r返回结果集的地方:(jsp中调用java的方法)
<%=new 类名().r()%>

可以直接访问Servlet跳转到目标JSP页面,
也可以从JSP跳转到Servlet处理完再跳转回来,
个人喜好.