如何在servlet中显示变量值到jsp

时间:2015-09-04 05:47:17

标签: java jsp servlets

这是我的情景。我有这个jsp表单:

welcome.jsp

 <div class="ajax-wrap" style="display: block; height:100%;">
    <p class="overlay_title">
    <%-- <span><%=request.getAttribute("mes_add_pageTitle")%></span> --%>
    <% String userlabel=(String)request.getAttribute("mes_add_pageTitle");%>
    </p>
 </div>

我知道这是我的WelcomeServlet.java:

 protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    String UsernameLabel="passing value";
    request.setAttribute("mes_add_pageTitle",UsernameLabel); //Setting USernameLabel to mes_add_pageTitle

    RequestDispatcher rd=request.getRequestDispatcher("/welcome.jsp");
    rd.forward(request,response);  //forwarded to welcome.jsp   
}

我的问题是为什么我在jsp中获得null值。它应显示Username Label但它不起作用..我的错误是什么,请帮助。注意:Username Label是一个标签,因此我不需要获取或发布。感谢

3 个答案:

答案 0 :(得分:3)

的index.jsp:

 <form action=Servlet1">
 <input type="submit" value="submit" name="submit1">
  </form>

在Servlet中,

让我们考虑一下, Servlet1.java

if(request.getParameter("submit1")!=null)
{
String UsernameLabel="passing value";
request.setAttribute("mes_add_pageTitle",UsernameLabel); //Setting UsernameLabel to mes_add_pageTitle

RequestDispatcher rd=request.getRequestDispatcher("/welcome.jsp");
rd.forward(request,response);  //forwarded to welcome.jsp

的welcome.jsp:

<% String userlabel=(String)request.getAttribute("mes_add_pageTitle"); %>

Value is: <%=userlabel%>

希望这可以帮助你...

答案 1 :(得分:0)

在JSP中,需要在sriptlet(&lt; %%&gt;)标记之外声明mes_add_pageTitle变量。

声明它像&lt;%!字符串mes_add_pageTitle = null%&gt;

答案 2 :(得分:0)

调度时使用

req.getRequestDispatcher("/welcome.jsp").forward(req, resp);

在jsp中检索时使用

<%=request.getAttribute("mes_add_pageTitle")%>