概述
1. 我看的例子里都是在servlet里通过request.getParameter("jsp中元素的name值");来获取jsp中元素的value值。
但是其实这种方法只限于<input>元素,就是输入框,每个输入框有name属性,value属性则是用户输入进去的。
今天要写的一个功能是,用户点击不同的超链接,转换到不同的页面。以前写静态网页的时候,都是直接在<a>元素的href中指定地址的。但是今天我想通过servlet来转换页面。servlet通过request.getParameter函数判断点击的是哪个超链接,为不同的超链接转换不同的网页。
结果发现及时<a>有name与value属性,但是request.getParameter方法却不能通过其name来获得value值,原来我们为a添加的value属性是不起作用的,它已经有自定义的name-value对了。就是在指定href的链接中,?之后的就是name-value对,而且不像input只有一对,他可以添加很多对,所以正确的写法是:
<a href="V2EX/RespondServlet?value=1">登录</a>
<a href="V2EX/RespondServlet?value=2">注册</a>
<a href="V2EX/RespondServlet?value=3">首页</a>
这样就可以通过request.getParameter(value)的返回值判断点击的是哪个超链接了。
2. 有些网站,很多网页的content或者导航栏都是不变的,如果在多个页面都要写重复的代码,要是需要修改一个小地方,就要把每个页面都改一次,不利于维护。
可以将重复的代码写在一个A.jsp的body页面中,然后在其他需要使用这些代码的B.jsp中的<body>置入A.jsp:
<jsp:include page="A.jsp" />
即使A.jsp中置入了其他css文件,也不需要在B.jsp中再置入一遍。
3. 设置每个菜单项<a>的间距相等。因为每个<a>的字数不一样,如果单纯设置每个菜单的宽的话,间距就会不等。而如果设置margin的话却不起作用。正确的做法是,将display设置为block,再设置margin:
display:block;
margin-left:20px;
4.如何使footer贴着底:
position: fixed;
bottom: 0;
5. 在1中说的request.getParameter("name");只能获得input中的value值,其实还不全,它是只能获得form中的input中的value值。
本来想获得table中的input值的,但是发现行不通,一直显示null,得在table外面添加<form>标签才行。
但是添加了form标签并且制定了servlet,那么点击了按钮就一定会执行servlet中的doGet或者doPost方法,
但其实我是想在jsp中先调用方法判断inout是否为空,不为空再调用servlet中的方法。
那只能舍弃form标签的这种一定会调用的方式,还是通过jsp页面中的DOM获得input的值,当值不为空时,通过ajax将键值对放在post的表单中传过去,这样就是从url表单中获取键值对(其实和1中的方法本质是一样的,只不过1中是用get方法),而不是servlet直接搜索jsp页面中是否有name等于某一值的input。ajax用post传值的方式为:
var params="user="+user+"&password="+password+"&verifCode="+verifCode;
var loader = net.AjaxRequest.call(this,"SignInServlet",deal_getInfo, onerror, "POST",params);
用get传值的方式为:
var loader = net.AjaxRequest.call(this,"SignInServlet?user="+user+"&password="+password+"&verifCode="+verifCode", deal_getInfo, onerror, "POST");
6. js是弱数据类型,没有整型的概念,也就不能声明一个变量为int型,只能用关键字var来声明变量,当你要判断一个变量是否为某个值时:
if(parseInt(i)==0){
}
这样可以将i中的数值取出来。
7. servlet方法中out.close();后面的语句还会被执行,这个只是向jsp传输了数据,把数据流关闭,后面的java代码还是会被执行的。
最后
以上就是整齐大米为你收集整理的杂记 JSP与Servlet通信的全部内容,希望文章能够帮你解决杂记 JSP与Servlet通信所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复