Java JSP - 使用if() - else()的scriptlet用法

时间:2017-10-06 09:06:44

标签: jsp tags scriptlet

美好的一天,所有。

我有以下设置:

  • 将HTML表单输出到浏览器的JSP,然后在用户输入数量后点击其中一个按钮 文字字段,
  • 将数据发送到执行某些计算的servlet,并将结果数据发送回JSP。
  • 然后,JSP显示结果数据并继续运行,以便用户可以使用该程序进行更多迭代。

我正在尝试对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命令。

另外,如果用描述和编码的方式检查这些会话属性是否存在及其条件 分配不正确,请告诉我如何更好地实现这一点。

非常感谢!

1 个答案:

答案 0 :(得分:0)

您遇到的问题(以及它是一个常见问题)是您在javascript中使用它时必须将scriptlet封装在单引号内。像这样:

    '<%=(String)request.getSession().getAttribute("formattedBal")%>'