2

当我单击 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检索空值。

4

2 回答 2

2

当您提交 htmlform时,只有inputselect元素作为参数发送。您没有任何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>

通常不鼓励使用 scriptlet。阅读 JSTL 和 EL 并改用这些技术。

于 2013-09-21T20:48:06.490 回答
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(即<%和%>之间的代码),而是使用jsp表达式语言

于 2013-09-21T20:49:56.523 回答