からという名前の JSP に2 つの値 (intMethod
およびSpotDays
)を渡そうとしています。 SourceServlet
CcySorting.jsp
メソッドを使用しsetRequestAttribute()
てサーブレット側で値を設定しgetRequestAttribute()
、JSP 側で値を受け取ります。しかし、JSP で null 値を受け取ります。私のコードは以下です。それを見て、考えられる理由を提案してください。私は多くのことを試みましたが、無駄でした。
また、JSP とサーブレットのフォルダー構造も提供しています。
私のフォルダ構造:
- JSP パス:
application.war\CcySorting.jsp
- サーブレット パス:
application.war\WEB-INF\classes\SampleServlet.class
の私のエントリWeb.xml
:
<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>
私の JSP ファイル:
CcySorting.jsp
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); }
SampleServlet.java
public class SampleServlet extends HttpServlet{ public void service(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException{ // Some code to fetch the data from database and store in two variable intm and spot int int=2 int spot=3 request.setAttribute("intMethod1",int); request.setAttribute("SpotDays1", spot); RequestDispatcher rd=request.getRequestDispatcher("/CcySorting.jsp"); rd.forward( request, response ) ; } }