微软技术追随者的Java笔记

各方面需要,偶尔用到java
posts - 0, comments - 0, trackbacks - 0, articles - 4
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

总结一下JSP、JavaSript的传参_转

Posted on 2011-08-28 19:51 KidYang 阅读(380) 评论(0)  编辑  收藏

小小总结一下JSP、JavaSript的传参,仅作为一个备忘。

JSP:


[样例1]
<a href="productinfo.jsp?id=<%=PID%>&page=<%=intPage%>&keyword=<%=keyword%>&gsytype=<%=gystype%>"><%=ProductName%></a>

[说明1]
这个链接的母体为<%=ProductName%>,是本页的一个变量。它链接到新的页面productinfo.jsp,并给productinfo.jsp传递了4个参数id、page、keword、gsytype。
在新的页面productinfo.jsp中,要获得上个页面传来的值,你需要:
String id="";
String page="";
String keyword="";

id=request.getParameter("id");
page=request.getParameter("page");
keyword=request.getParameter("keyword");
gystype=request.getParameter("gystype");

if (id==null) id="";
if (page==null) page="";
if (keyword==null) keyword="";
if (gystype==null) gystype="";

--------------------------------------------------

例外是:response.sendRedirect("productinfo.jsp?id="+id);
我还不太清楚为什么不能写成
response.sendRedirect("productinfo.jsp?id=<%=id%>");

如果有知道的朋友,请留言指点 :)

--------------------------------------------------

[样例2]
对于表单,你就不需要通过“?”的形式传参了。注意的是,表单的提交是在<form>里的。
<form action="productinfo_t.jsp"  method="post"  name="formcontent"  onSubmit="javascript:return checkform();">

[说明2]

表单里的所有表单控件要向productinfo_t.jsp提交参数,不要写成form action="productinfo_t.jsp?Productname=<%=ProductName%>&..."的形式,直接在 productinfo_t.jsp里写:
String ProductCode="";
String ProductName="";
String ProductPara="";

ProductCode=request.getParameter("ProductCode");
ProductName=request.getParameter("ProductName");
ProductPara=request.getParameter("ProductPara");

if (ProductCode==null) ProductCode="";
if (ProductName==null) ProductName="";
if (ProductPara==null) ProductPara="";

JavaScirpt:

[样例]
<input name="upload" type="button" onClick="javascript:uploadpic('<%=id%>');" value="上传图片">
<script language="javascript">
function uploadpic(id)
{
   window.open("upload.jsp?id="+id+"","","height=250,width=500");
}
</script>

[说明]
第一句是jsp语句,表明在点击upload按钮时,触发javascript 的uploadpic()事件。此处<%=id%>是String类型,所以要加上两个单引号''。如果id是数字类型(int、long..)则不加单引号。
JavSript里,函数参数id不要写成<%=id%>,注意一点
window.open("upload.jsp?id="+id+"","","height=250,width=500"); 是JavaSript的语法
不要写成
window.open("upload.jsp?id=<%=id%>","","height=250,width=500");


只有注册用户登录后才能发表评论。


网站导航: