Servlet和jsp之间的传值经验总结(一)

这里是我的第一篇博客,记录在学习中遇见的问题和解决的办法以及经验总结,可能比较琐碎,但希望能有一个可以时常查询回忆的地方,或许有需要错误的地方,期望改正。

servlet to jsp

request.setAttribute(“object”,object)

1.在jsp中可以用request.getAtrribute()获得object,如果要赋值给变量给字符型可以用toString()
2.如果只需要输出在页面中,有比较方便的方法${object}。这个方法可以放在value中也可以直接放在页面,如果没有值的话不会显示,应该是不会因为出现错误而导致页面不能运行。
3.传输的object是一个List。在servlet中首先有

#List<userlogin > userList = new ArrayList<userlogin >(),`userlogin userName=new userlogin();
					userName.setUserId(userid);
					userName.setUserName(username);
					userList.add(userName);`#;

在jsp中逐个显示输出:

<c:forEach items="${userList }" var="item">
	<tr>
		<td>${item.userName }</td>
		<td><a href="<%=path %>/classmate.do?userId=${item.userId }&userName=${item.userName }">成员详情</a></td>
		<td><a href="<%=path %>/chat.do?userId=${item.userId}">私信</a></td>
	</tr>
</c:forEach>

userList是传递来的List,item是一个个内容,item.userName为类中的属性
记得在之前jsp的开头加入

<%--  <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> --%>
<%@ taglib prefix="c" uri="/WEB-INF/c.tld" %>

如果第一个不行的话可以下载c.tld放在文件夹下面。
第一次使用的时候是可以的但换了一台机子以后出现了错误,之后可以下载jstl.jar和standard.jar引入包或者放在lib下面就可以了。
4.将传来的值应用到的script中应用

<%	if(request.getAttribute("mString")!=null){
	String msg=request.getAttribute("mString").toString();
	if(msg!=""){
		%>
		<script type="text/javascript">
			if(confirm("<%=msg%>")==true){
				window.location.href="group.do"; 
			}
		</script>
		<%
	}}
%> 

一定要先判断是否为空,如果用toString()需要首先判断是否为空,否则会报错
有看见直接String value=(String)request.getAttribute(“value”);但是我觉得这种情况下不便判断检查,不是很推荐。

猜你喜欢

转载自blog.csdn.net/qq_41863865/article/details/88650982
今日推荐