我正在尝试在我的JSP文件中获取Web-URL,该方法可行,当我在HTML中调用它时:`
</br>
<%=getParameter(request, "requestID")%>
</br>
当我在我的jspInit方法中调用我的方法时,我收到一个错误,任何人都知道它是如何解决的,这是代码:
<%!
public String getParameter(HttpServletRequest request, String param) {
String result = request.getParameter(param);
return result.replace("&", "&").replace("\"", """).replace("<", "<").replace(">", ">").replace("'","$#039;");
}
%>
<%!
public void jspInit(){
String temp = getParameter(request, "requestID");
}
%>
错误:
JBWEB004211: Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:85)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:69)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:469)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:361)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:339)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:326)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:606)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:308)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:309)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:242)
javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
答案 0 :(得分:0)
你正在重新发明轮子。您似乎想要显示参数值,并在参数值中转义HTML符号。
JSP EL允许获取参数值。
JSTL的c:out标记和JTSL的fn:escapeXml函数都转义HTML符号。
所有你需要的(正确installing the JSTL之后)并在JSP中声明使用c或fn标签库是
<c:out value="${param.requestID}"/>
或
${fn:escapeXml(param.requestID)}
Scriptlet在1998年很酷。2年后(IIRC),他们不鼓励使用自定义标签,然后是JSP EL和JSTL。