日期:2014-05-17  浏览次数:20747 次

jsp通过url传递参数
在第一个jsp页面中
<script type="text/javascript">
function chk(id, cla, sts) {

      if (confirm("你确定要修改吗?")) {
location.href = "update.jsp?pid=" + id + "&pcla=" + cla + "&psts="+ sts;
}
}
</script>
<td style="overflow:hidden"><input type="button" onclick="chk('<%=roo.getId()%>,<%=roo.getCla()%>,<%=roo.getState()%>')" value="修改" style="width:60;"/></td>

第二个jsp页面

String roomno = request.getParameter("pid");
String cla = request.getParameter("pcla");
String sta = request.getParameter("psts");

点击修改后url为 http://localhost:8080/ResLogin/update.jsp?pid=1,%E8%B1%AA%E5%8D%8E%E5%A5%97%E9%97%B4,l&pcla=undefined&psts=undefined

怎么解决??

------解决方案--------------------
java代码放到<%%>这个标签中写。
<%=%> 这个只能放java代码中的变量,不能放java代码中的表达式。

------解决方案--------------------
改成chk('<%=roo.getId()%>','<%=roo.getCla()%>','<%=roo.getState()%>')
------解决方案--------------------
<%
String s1=roo.getId();
String s2=roo.getCla();
String s3=roo.getState();

%>

<td style="overflow:hidden"><input type="button" onclick="chk('<%=s1%>,<%=s2%>,<%=s3%>')" value="修改" style="width:60;"/></td>

这样何如?

------解决方案--------------------
引号也少了。
------解决方案--------------------
<td style="overflow:hidden"><input type="button" onclick="chk('<%=s1%>','<%=s2%>','<%=s3%>')" value="修改" style="width:60;"/></td>
------解决方案--------------------
要加全
chk('<%=roo.getId()%>','<%=roo.getCla()%>','<%=roo.getState()%>'
------解决方案--------------------
引用:
要加全
chk('<%=roo.getId()%>','<%=roo.getCla()%>','<%=roo.getState()%>'