【问题标题】:how to pass parameter from jsp to servlet when variables are declared in another java file?当变量在另一个java文件中声明时,如何将参数从jsp传递给servlet?
【发布时间】:2016-07-11 12:34:57
【问题描述】:

我有一个 JSP 页面和一个 servlet。我正在尝试将参数从 servlet 传递到 jsp 页面,并且效果很好。请注意,此参数或属性在另一个 java 类中声明为 static final。 但是当我尝试再次将此参数传递给 servlet 时,我看到值为 null。strong text

变量.java

public static final String VAR_date="date";

JSP

String date=request.getAttribute(VAR_date);       //this values is fetched
<A href='Servlet?VAR_date=<%=date%>'</A>     //problem occurs here when                      sending date back to Servlet

小服务程序

doGet(HttpServletRequest req,HttpServletresponse res)

String date=req.getParameter(VAR_date); // value is null

我不知道当你传递一个在java文件中声明的变量时语法是否不同,或者这是错误的。 提前谢谢!

【问题讨论】:

  • 既然是静态变量,为什么不直接访问呢?(ClassName.VAR_date)
  • 我认为他想使用常量来防止拼写错误,日期将是客户端和服务器端的参数名称。
  • 如果我理解你的问题,应该是&lt;A href='Servlet?date=&lt;%=date%&gt;'&gt;label&lt;/A&gt;,或者更好的是&lt;A href='Servlet?date=${date}'&gt;label&lt;/A&gt;。目前您的参数名称是"VAR_date",您尝试阅读"date"
  • 谢谢@SergeBallesta!这就像一个魅力!:)

标签: java jsp servlets


【解决方案1】:

您必须将它传递给一个字段,然后提交(它也可以隐藏),它的 name 应该是 VAR_date。然后你可以在 servlet 中读取它。 或者,您可以将其设置为会话,并在 servlet 中读取它(然后可能将其删除),但我不建议这样做。

输入的东西是这样的:

<input type="hidden" name="<%= Variables.VAR_date =>" value="anything you want to submit" />

【讨论】:

    【解决方案2】:

    在你的Servlet中,添加导入Variables类的语句,然后直接访问所需的变量如下:-

    Variables.VAR_date
    

    如果你想从 JSP 传递,那么在一些隐藏变量中设置日期值,然后从这些隐藏参数中获取隐藏变量的值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-25
      • 2013-03-22
      • 1970-01-01
      • 2016-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多