如何从 JSP 块?
我刚开始学习 JSP 技术,却遇到了一堵墙。
*如何从<%!... %> JSP 声明块中的方法输出 HTML?
这行不通:
<%!
void someOutput() {
out.println("Some Output");
}
%>
...
<% someOutput(); %>
服务器说没有“out”。
U: 我知道如何重写代码,让此方法返回字符串,但是否有办法在 <%! void () { } 内做到这一点。%> ?虽然这可能不是最佳方法,但仍然很有趣。
36
3
您不能在指令中使用 'out'变量(也不能在指令中使用其他任何 "predeclared" scriptlet 变量)。
JSP 页面会被网络服务器翻译成 Java servlet。例如,在 tomcats 中,脚本中的所有内容(以"
我想这应该会有帮助:
总之,在视图中添加代码不是个好主意。
您只需将 JspWriter 对象作为参数传递到方法中,即
然后通过
写入器对象是 _jspService 中的一个局部变量,因此需要将其传递到实用程序方法中。这同样适用于所有其他内置引用(如 request、response、session)。
查看发生了什么的一个好方法是使用 Tomcat 作为服务器,并深入到 'work' 目录中查看从你的 'jsp' 页面生成的 '.java' 文件。或者,你也可以在 weblogic 中使用 'weblogic.jspc'页面编译器来查看请求页面时生成的 Java。