<%
String fname=request.getParameter("fname");
String username=getVal("lname");
%>
<%!
private String getVal(String param){
return request.getParameter("fname");
}
%>
/*
--err
org.apache.jasper.JasperException: PWC6033: Error in Javac compilation for JSP
PWC6197: An error occurred at line: 5 in the jsp file: /register.jsp
PWC6199: Generated servlet error:
string:///register_jsp.java:12: cannot find symbol
symbol : variable request
location: class org.apache.jsp.register_jsp
/*
10
A
回答
21
JSP通过一个JSP编译器,它将JSP页面转换为一个servlet,自动生成java代码。
JSP指令指示JSP编译器在哪里放置什么。 <% %>
(称为JSP scriptlets)中的所有内容都将放入生成的servlet的service()
方法中。 <%! %>
(称为JSP声明)中的所有内容都将成为生成的servlet的实际类的一部分,因此您的getVal()将成为实例方法。
标准request
(和session
和pageContext
等)对象实例的service()
方法内定义,以便它们在效果,仅提供JSP脚本部分的内部。
如果您在Tomcat上运行,例如,如果您查看Tomcat安装中的“work”目录,则可以查看JSP页面实际生成的Java代码。可能会很有趣,如果不能更好地了解“引擎盖下”发生的事情。
14
请求是scriptlet的表达式内访问,因为它是在这些表达式进行求值方法(_jspService
)的参数。但是,如果你希望它是在自己可用的方法,你必须声明它作为一个参数:你不应该使用小脚本,并在第一时间获取JSP中请求参数
<%
String fname = request.getParameter("fname");
String username = getVal("lname", request);
%>
<%!
private String getVal(String param, HttpServletRequest request) {
return request.getParameter("fname");
}
%>
注意。应该使用JSP来生成标记。在servlet/action中执行处理,通过在请求范围中创建并填充bean准备要由JSP显示的数据,然后分派到JSP,该JSP应该仅使用JSP EL,JSTL和其他自定义标记。
相关问题
- 1. 如何在另一个对象内部使用对象功能
- 2. JSP请求对象没有参数
- 3. 性能的Javascript功能,使HTTP请求
- 4. 如何使用jQuery的时候用Get请求功能
- 5. 如何在Java中访问JSP隐式对象(请求,响应)
- 6. 取消对象内的ajax请求
- 7. 如何在使用HTML5的appcache功能时允许json请求?
- 8. 如何在火力点功能内使用路由器对象?
- 9. 如何禁用对JSP页面的GET请求?
- 10. 如何杀死正在进行的请求请求对象
- 11. 如何找出请求对象中的所有请求标头?
- 12. 使用多功能对象
- 13. 如何发送嵌套JSON对象的请求体内
- 14. 如何动态创建使用jQuery ajax请求的对象
- 15. 如何使用小服务器来回应对象的请求
- 16. 从请求对象的请求报头复制到URLConnection对象
- 17. 如何为请求处理功能
- 18. 如何从php deveolpers请求php功能
- 19. 在JSP pageContext.REQUEST_SCOPE和请求对象之间的差异
- 20. servlet中的请求对象,没有从jsp接收参数值
- 21. JSP:如何读取HTTP POST/GET请求的内容
- 22. 对象内组功能的优点
- 23. 使用PHP附加请求对象中的对象
- 24. 如何在JSP从请求对象中选择所需的按钮
- 25. 对jsp中的所有请求使用URL Hidding/Masking
- 26. 访问功能使用类对象的
- 27. 使用Android的对象识别功能
- 28. 使用java中的对象功能
- 29. 如何使用申请功能应用
- 30. MooTools - 重用请求对象