使用JSTL在JSP之间传递值
问题描述:
因此,我在一个JSP中创建一个表单,并将数据传递给另一个JSP以检查它是否为空。我可以这样做吗?使用JSTL在JSP之间传递值
First.jsp
<form id="search-form" name="search">
<input type="text" name="txtSearch" id="search-field">
<button type="submit" onclick="<c:set var="search" value="${param.txtSearch}" scope="request"/>"><a href="Second.jsp">SEARCH</a></button>
</form>
Second.Jsp
<c:set var="search" value="${requestScope['search']}"/>
<c:choose>
<c:when test="${empty search}">
<h1>Empty</h1>
</c:when>
<c:otherwise>
<h1>${search}</h1>
</c:otherwise>
</c:choose>
答
你正在检查放错了地方的请求参数。您应该在与目标资源关联的请求中检查它。 onclick
内部的<c:set>
没有任何意义。 JSP生成HTML代码。 onclick
只执行JS代码。右击页面,执行查看源文件并查看onclick
属性的位置。你有看到?它是空的!此外,包含在HTML按钮中的HTML链接也是无稽之谈。你基本上正在生产invalid HTML。在表格中,您应该在<form action>
中指定目标资源。
这里有一个基本的开球例如:
<form action="Second.jsp">
<input type="text" name="txtSearch" />
<input type="submit" value="Search" />
</form>
<c:choose>
<c:when test="${empty param.txtSearch}">
...
</c:when>
<c:otherwise>
...
</c:otherwise>
</c:choose>
无论如何,我强烈建议退后一步,如果你真的很喜欢使用的学习资源,以了解HTTP,HTML和JSP正确的审查。你的第一次尝试中出现了一些严重的基本错误。从这里开始:Java EE web development, where do I start and what skills do I need?
谢谢,感谢您的帮助。我将回顾我在HTTP,HTML和JSP方面的知识。 – user3676506
我还有一个问题。在First.jsp中,如果我只有一个,有没有办法获得与上面相同的结果? – user3676506
这部分是为了评论,而不是新问题。在右上方有一个“Ask Question”按钮。无论如何,只要先学习一些基本的HTML。 – BalusC