JSP向Servlet传值有三种方式:(1)Form表单传值(2)url传值(3)将值存放在session中
1.Form表单传值
jsp代码片段:
<%--此处显示 servlet获取的值--%>
<span id="span"><%=session.getAttribute("value")%></span>
<%--此处为 form表单 点击button提交输入的信息--%>
<form action = "/HelloWorld" method="POST">
<span style="white-space:pre"> </span><input name="inputValue" id="inputValue"><br/>
<span style="white-space:pre"> </span><button style="align-content: center" type="submit">提交</button>
</form>
servlet代码(此处 提交方法为 POST 对应的servlet的doPost方法):
//获取form表单值
request.getParameter("inputValue");
//将获取的值存入session,传到界面
request.getSession().setAttribute("value",request.getParameter("inputValue"));
response.sendRedirect("index.jsp");
2.URL传值
JSP代码片段:
<span id="span"><%=session.getAttribute("value")%></span>
<%--将值加在 URL中--%>
<a href="/HelloWorld?urlValue=valueofurl">URL传值</a>
servlet代码(对应doGet 方法):
request.getParameter("urlValue");
request.getSession().setAttribute("value",request.getParameter("urlValue"));
response.sendRedirect("index.jsp");
3.将值存放在session中
JSP代码片段:
<span id="span"><%=session.getAttribute("value")%></span>
<%--此处没有设置提交方法,默认get--%>
<form action = "/HelloWorld">
<%--将值存入session中--%>
<%session.setAttribute("sessionValue","value from session");%><br/>
<button style="align-content: center" type="submit">提交</button>
</form><span style="font-weight: bold;">
</span>
servlet代码(对应doGet 方法):
request.getSession().getAttribute("sessionValue");
request.getSession().setAttribute("value",request.getSession().getAttribute("sessionValue"));
response.sendRedirect("index.jsp");
-------------------------------------------------------------------------------------------------------------------------------------
(具体选择哪种传值方式,应根据实际情况而定。比如注册功能,适合form表单传值;对于需要传少量固定值的界面,适合url传值。)