当我点击jspA中的链接时,它将重定向到带有查询字符串 src 的jspB。 src 的消息将在jspB中显示没有问题。但是,为什么我试图点击提交,我无法在我的servlet页面中检索 src 的值。有没有办法在servlet中检索 src 的值?感谢。
在我的jspB页面中:
<img src="<%= request.getParameter("src") %>" />
<table>
<form name="frmTest" action="test" method="post">
<input type="submit" value="sub" name="sub" />
</form>
</table>
在我的Servlet测试中:
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException{
String imgUrl = req.getParameter("src");
我正在从 imrUrl 中检索空值。
答案 0 :(得分:2)
当您提交html form
时,只会将input
和select
元素作为参数发送。您没有将name
属性设置为src
的任何属性。
您可以使用隐藏的input
<form name="frmTest" action="test" method="post">
<input type="submit" value="sub" name="sub" />
<input type="hidden" name="src" value="<%= request.getParameter("src") %>" />
</form>
It is generally discouraged to use scriptlets.阅读JSTL和EL并使用这些技术。
答案 1 :(得分:0)
我假设你的意思是从jspB提交?如果是这样,您需要将src值存储在表单中的隐藏字段中,以便在提交时调用servlet时可用。类似于以下内容
<form name="frmTest" action="test" method="post">
<input type="hidden" value="<%= request.getParameter("src") %>" name="src" />
<input type="submit" value="sub" name="sub" />
</form>
PS你应该避免使用scriptlet(即&lt;%和%&gt;之间的代码)而是使用jsp表达式语言