【发布时间】:2018-08-08 08:49:42
【问题描述】:
我有 3 个 JSP 页面,我们称之为 First.jsp Second.jsp Third.jsp。我想将数据从 First.jsp 移动到 Third.jsp。我知道您可以使用<form action=".jsp" method="post"> 和<c:redirect url=.jsp> <c:param name= value=> </c:redirect> 移动数据,但是只有在两个页面相互连接时才能使用 i.ex First.jsp 和 Second.jsp。
我已经尝试过来自 Link 的解决方案。但是,我并没有真正得到使用<a ref/> 的第一个解决方案。但我试过了,它不起作用。第二种解决方案就像我上面提到的那样。如果我没记错的话,第三和第四个解决方案是不使用 JSTL。
在我的代码中,我想将在 First.jsp 的下拉列表中选择的选项移动到 Third.jsp
这是我的下拉列表代码
<s:setDataSource var="ds" driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/project?useLegacyDatetimeCode=false&serverTimezone=Asia/Pontianak&useSSL=false"
user="root" password="root"/>
<s:query dataSource="${ds}" var="resultseta">
SELECT DISTINCT departureto, departurefrom FROM schedule
</s:query>
<body>
From:
<SELECT class="drop" style="WIDTH: 143px" id="departfromcmb" name="departfromcmb">
<option value="">Select your location</option>
<c:forEach items="${resultseta.rows}" var="departfromrow">
<option value="${departfromrow.departurefrom}"> ${departfromrow.departurefrom} </option> //i would like to pass this data to third.jsp
</c:forEach>
</SELECT> <br><br>
To:
<SELECT class="drop" style="WIDTH: 150px" id="departtocmb">
<option value="">Select your destination</option>
<c:forEach items="${resultseta.rows}" var="departtorow">
<option> ${departtorow.departureto}</option> //i would like to pass this code to third.jsp
</c:forEach>
</SELECT> <br><br>
</body>
【问题讨论】:
-
这可能过于宽泛,并且有多个解决方案的重复项。尝试在会话中存储数据或使用隐藏输入。
-
是的,据我所知,在会话中存储数据不是 JSTL。我已经尝试了其他问题的几种解决方案。不幸的是,他们都没有工作。
-
我已经编辑了我的问题。并在发布此问题之前放置引用我已阅读的解决方案的链接
-
...你可以使用
<c:set var="..." value="..." scope="session" /> -
...但我建议使用控制器来解决这个问题。或者,如果可以的话,看看 JSF。