二、JSP动作标签
可以替代部分java代码
<%
int a=1;
int b=2;
request.setAttribute("a",a);
request.setAttribute("b",b);
%>
<!-- 转发forward指令 -->
<jsp:forward page="otherPage.jsp">
<!-- 简单传参 -->
<jsp:param name="username" value="michael" />
<jsp:param name="hobbies" value="swim" />
<jsp:param name="hobbies" value="running" />
<jsp:param name="hobbies" value="basketball" />
</jsp:forward>
<!-- otherPage.jsp -->
request中的属性值有:<br>
a=${a }<br>
b=${b }<br>
request的参数值有:<br>
用户名:${param.username }<br>
爱好1:${paramValues.hobbies[0] }
爱好2:${paramValues.hobbies[1] }
爱好3:${paramValues.hobbies[2] }
<!-- include将另一个页面的内容包含进来,并且能够传值-->
<jsp:include page="otherPage.jsp">
<jsp:param name="username" value="zhangsan" />
<jsp:param name="password" value="123456"/>
</jsp:include></jsp:include>
<hr color="red" />
<%@ include file="otherPage.jsp" %>
JSP include指令 和 JSP标签的include动作的区别?
include指令是”静态的”,它先把另一个页面的内容复制到本页面,再作为一个页面运行。
JSP的include动作是”动态的”,它在本页面运行到include标签时,再找到另外一个页面,让它运行结果纳入到本页面
<%
UserInfo user = new UserInfo();
request.setAttribute("user",user);
%>
<!--
jsp:userBean是标签
id是键值对的键名
class是对应类
scope是作用域
-->
<jsp:userBean id="user" class="cn.dlian.entities.UserInfo" scope="request" />
<jsp:setProperty name="user" property="USER_ID" value="1" />
<jsp:setProperty name="user" property="USER_NAME" value="张三" />
<jsp:setProperty name="user" property="USER_PASS" value="123456" />
<jsp:setProperty name="user" property="USER_ROLE" value="MANAGER" />
<!-- 另一个页面获取 EL表达式常用,简单 -->
通过EL表达式获取:<br>
id:${user.USER_ID }<br>
用户名:${user.USER_NAME }<br>
通过jsp标签获取:<br>
<!-- 使用getProperty来获取四大作用域中对象的属性时,需要userBean引用一下该对象 -->
<jsp:userBean id="user" class="cn.dlian.entities.UserInfo" scope="request" />
id:<jsp:getProperty name="user" property="USER_ID"/><br>
用户名:<jsp:getProperty name="user" property="USER_NAME"/><br>
<jsp:forward page="login.jsp">
<jsp:param name="userId" value="1" />
<jsp:param name="userName" value="zhangsan" />
<jsp:param name="userPass" value="123456" />
<jsp:param name="userRole" value="1" />
</jsp:forward>
<!-- 可以将上个页面传来的参数封装在userBean对象中 -->
<jsp:userBean id="user" class="cn.dlian.entities.UserInfo" scope="request" />
id:<jsp:getProperty name="user" property="USER_ID" param="userId"/><br>
用户名:<jsp:getProperty name="user" property="USER_NAME" param="userName"/><br>
密码:<jsp:getProperty name="user" property="USER_PASS" param="userPass"/><br>
身份:<jsp:getProperty name="user" property="USER_ROLE" param="userRole"/><br>
在EL表达式中,直接使用运算符:<br>
${1 + 2}<br>
${1 < 2}<br
${c == null}
比较空字符串:
${empty c} ${!empty c}