将值从servlet传递到JSP - 在JSP页面接收null值。

时间:2013-02-14 14:47:06

标签: jsp servlets

我正在尝试将intMethod中的两个值(SpotDaysSourceServlet)传递给名为CcySorting.jsp的JSP。

我使用setRequestAttribute()方法在servlet端设置值,并在JSP端使用getRequestAttribute()来接收值。但我在JSP中收到空值。我的代码如下。请查看它并提出可能的原因。我已经尝试了很多,但徒劳无功。

我也提供我的JSP和servlet文件夹结构。

我的文件夹结构:

  • JSP路径:application.war\CcySorting.jsp
  • Servlet路径:application.war\WEB-INF\classes\SampleServlet.class

我在[{1}}中的条目:

Web.xml

我的JSP文件:

  • CcySorting.jsp

    <servlet>
      <servlet-name>SampleServlet</servlet-name>
      <servlet-class>SampleServlet</servlet-class>
    </servlet>
    <servlet-mapping>
      <servlet-name>SampleServlet</servlet-name>
      <url-pattern>/SampleServlet</url-pattern>
    </servlet-mapping>
    
  • SampleServlet.java

    function searchData(brn,ccy)
    {
        var frmObj  =getUserFormObj('window','div0','form0');
        window.open("/SampleServlet?BrnName="+brn+"&Currency="+ccy);    
        var intMethod= <%= request.getAttribute("intMethod1") %>;
        var spotDay = <%= request.getAttribute("SpotDays1") %>;
        alert("data from servlet"+intMethod+"and spot"+spotDay1);
    }
    

2 个答案:

答案 0 :(得分:0)

嗯......除了检索数据之外,似乎一切都是正确的:

将您的jsp收件人更改为:

var intMethod= '<%= request.getAttribute("intMethod1") %>';
var spotDay = '<%= request.getAttribute("SpotDays1") %>';

答案 1 :(得分:0)

不鼓励使用scriplets。您可以尝试在JS函数中使用它。

var intmethod='${intmethod1}';
var spotday='${SpotDays1}';

还可以在HTML部分中尝试使用scriplets,然后查看要检索的值。

intmethod=<%= request.getAttribute("intMethod1")%>;
spotsday=<%= request.getAttribute("SpotDays1") %>;