我在一个JSP文件中有以下代码:
rs=stmt.executeQuery("select * from routemaster");
if(rs!=null){
%>
<table class="notebook" align="center">
<tr class=row_title>
<th class=row_title>RouteID</th>
<th class=row_title>RouteCode</th>
<th class=row_title>BusNo</th>
<th class=row_title>InBoundTime</th>
<th class=row_title>OutBoundtime</th>
<th class=row_title>Location</th></tr>
<%
while(rs.next()){
RouteID=rs.getString(1);
RouteCode=rs.getString(2);
InBoundtime=rs.getString(4);
OutBoundtime=rs.getString(5);
BusNo=rs.getString(6);
Location=rs.getString(7);
DisRow++;
%><tr class= <%=(DisRow%2!=0)? "row_even" : "row_odd"%>>
<td><%=RouteID%></td>
<td><a onclick="sendInfo('<%=RouteCode%>') " ><%=RouteCode%></a></td>
<td><%=BusNo%></td>
<td><%=InBoundtime%></td>
<td><%=OutBoundtime%></td>
<td><%=Location%></td>
</tr><%
}
%></table><%
}以及以下JS代码:
sendInfo(txt){
var txt = window.opener.document.addbus0.RouteCode;
txt.value = txtVal;
window.close();
}每当单击带有RouteCode的链接时,就需要关闭窗口,并且需要将选定的RouteCode存储在会话中。我如何才能做到这一点?
发布于 2011-05-21 12:26:57
在这一点上,您需要将值从客户端发送到服务器。实现此目的的正常方法是让客户端单击链接或将表单提交到服务器端的URL,然后将值作为URL中的请求参数或表单中的隐藏输入一起发送。
由于您使用的是链接,下面是一个带有链接的示例:
<a href="sendInfo.jsp?routeCode=<%=routeCode%>"><%=routeCode%></a>然后在sendInfo.jsp中只需这样做
<%
String routeCode = request.getParameter("routeCode");
session.setAttribute("routeCode", routeCode);
%>
<script>
window.opener.document.addbus0.RouteCode.value = '<%=routeCode%>';
window.close();
</script>与无关的具体问题,这种代码风格不是最佳实践。Java代码属于Java类,而不是JSP文件。JSP文件应该只包含HTML、JSP标记和EL。另请参阅How to avoid Java code in JSP files?,Java coding conventions要求变量名必须以小写字母开头。仔细阅读它们。你还有很长的路要走,祝你好运。
https://stackoverflow.com/questions/6074067
复制相似问题