美好的一天,所有。
我有以下设置:
我正在尝试对JSP进行编码,使其在运行时首先检查是否存在2个会话属性," balance" 和" formattedBal"。如果这些属性不存在(意味着这是第一次在运行JSP之后) 用户只需点击其URL地址),JSP执行必须创建并分配这些会话属性。如果这些属性 确实存在(意味着这不是JSP的初始启动,而是随之而来的一个,servlet已经恢复了用户 对于JSP和发送结果数据,因此它的非空会话属性),JSP必须简单地执行HTML输出, 在适当的编码位置显示所述会话属性的值。
以下是JSP的代码:
.as-console-wrapper {
max-height: 100% !important;
}
问题是,我收到的错误指向第11行 - <%标记。我是否使用函数,错误 保留并完全按如下方式读取:
HTTP状态500 - 类型异常报告 信息 description服务器遇到内部错误(),导致无法完成此请求。 例外 org.apache.jasper.JasperException:无法为JSP编译类 在jsp文件中的第11行:/bank.jsp发生错误 生成的servlet错误: 令牌上的语法错误" =",!=期望 org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84) org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328) org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:397) org.apache.jasper.compiler.Compiler.compile(Compiler.java:288) org.apache.jasper.compiler.Compiler.compile(Compiler.java:267) org.apache.jasper.compiler.Compiler.compile(Compiler.java:255) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:296) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245) javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
我一直在研究这个和相关的错误,但没有多大用处。
没有任何意义的是错误表明我正在使用=符号,但是它需要一个!=组合,而如你所见 这条线指的是首先从来没有一个=符号。
我是Java的新手,这可能是某个地方的一个简单错误,请你帮忙识别它?
每当我需要使用"标准"时,我需要在JSP中使用scriptlet。 Java命令。
另外,如果用描述和编码的方式检查这些会话属性是否存在及其条件 分配不正确,请告诉我如何更好地实现这一点。
非常感谢!
答案 0 :(得分:0)
您遇到的问题(以及它是一个常见问题)是您在javascript中使用它时必须将scriptlet封装在单引号内。像这样:
'<%=(String)request.getSession().getAttribute("formattedBal")%>'