java - JSP 页面未读取提交的值

标签 java jsp jstl

我正在开发基于 jsp 的应用程序的前端。我们在 weblogic 上使用 spring 运行。

我有一个页面,其中包含一个提交给自身的表单,我正在尝试访问我用 javascript 设置的隐藏字段的值。

 <form method="post">

  <input type="hidden" name="choosenDateFrom" value="test1" />
  <input type="hidden" name="choosenDateTo" value="test2"  />
.... more code

但是当我在同一页面上使用代码时:

 <c:choose>
  <c:when test="${param.choosenDateFrom!=null}">
   <c:out value="${param.choosenDateFrom}" />
 </c:when>
   </c:choose>

参数没有显示在页面上。我错过了什么?我认为这是执行此操作的标准方法。

会不会因为我们使用的是 MVC 框架,所以我不能像这样传递参数?

最佳答案

您是否在 webapp 中安装了 JSTL 并在 JSP 中声明?

检查生成的 HTML 输出(在浏览器中打开页面,选择查看源代码)。它应该没有任何 JSTL 代码的踪迹。如果是这样,那么您可能只需要先安装 JSTL。只需放下 jstl-1.2.jar在 webapp 的 /WEB-INF/lib并根据 JSTL core TLD 在 JSP 顶部声明标签库:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

如果仍然不能解决问题,那么显然有一个全新的请求方法(即发生了重定向),或者您使用了错误的参数名称。使用 <c:out value="${pageContext.request.parameterMap}" />查看所有名称。

根据您的疑问:

Could it be that since we are using a MVC framework I can't pass params around like this?

这完全取决于您使用的是哪一个。不提它并不能帮助我们给出更好的答案。但一般来说 ${param}应该保持不变。

关于java - JSP 页面未读取提交的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2111451/

相关文章:

java - 池和堆中的字符串创建

javascript - 我用js动态生成一些表单但是数据无法传递到后端

websphere - 强制编译 .tag 文件

java - 如何更新 <c :set> tag using EL inside a <c:foreach> tag 中的值

java - if taglib 与 forEach jSTL 的两项进行比较

java - 二叉树数组迭代

java - 返回基于 jetty 8 的 websocket 服务器上的连接数

java上传servlet获取附加表单数据

java - 单击下一步按钮时如何获取其他详细信息?

java - 更改 Eclipse 中的返回类型错误