jsp动作元素学习
1.jsp:include动作是把指定页面插入到正在生成的页面中
语法形式:
<jsp:include page=“url” flush=“true”></jsp:include>
事例:
先写出要插入的页面jspincludepage.jsp
再写一个展示页面index.jsp
在浏览器中打开
注意点:
include指令是在jsp文件转化成servlet时引入文件。jsp:include实在页面被请求时插入页面。include指令可以引入HTTP头文件,jsp:include不能。
jsp:uesBean动作
jsp:useBean动作用来装载在jsp文件中使用的javaBean
语法形式:
<jsp:useBean id=“name” class=“package.class”></jsp:useBean>
示例:
创建一个Student.java文件
创建一个jsp文件
scope有四个取值page,request,session,application。page指当前页面内使用,scope默认值时page
运行结果:
jsp:forward动作
jsp:forward把请求重定向到另一个页面。
语法事例:
<jsp:forward page=“url”></jsp:forward>
示例:
用一个登录页面来展示,先写出登录页面logins.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>登陆管理</title>
</head>
<body>
<div>
<form id="form1" name="form1" method="post" action="login.jsp">
<table>
<tr>
<td height="40"><div align="right" class="STYLE1">用户名:</div> </td>
<td height="40" colspan="2"><input type="text" name="userName"></td>
</tr>
<tr>
<td height="40"><div align="right" class="STYLE1">密 码:</div> </td>
<td height="40" colspan="2"><input type="password" name="password"> </td>
</tr>
<tr>
<td height="40"> </td>
<td height="40" colspan="2"><input type="submit" name="Submit" value="提交"></td>
</tr>
</table>
</form>
</div>
</body>
</html>
`再写出显示页面login.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" import="java.util.*" %>
<html>
<head>
<title>login</title>
</head>
<body>
<%
String userName = request.getParameter("userName");
String password = request.getParameter("password");
if (userName.equals("qwe")&&password.equals("123456")){
%>
<jsp:forward page="success.jsp"></jsp:forward>
<%}else %>
<jsp:forward page="error.jsp"></jsp:forward>
</body>
</html>
login页面的success.jsp和error.jsp来判断是否登录成功
jsp:param动作
jsp:param通过名-值(name-value)对的形式提供信息
语法形式:
<jsp:param name=“name” value=“value”></jsp:param>
jsp:setproperty动作
jsp:setproperty动作是用来设置bean的属性值对的,所有要配合jsp:usebean一起使用
语法形式:
<jsp:setProperty
name=“beanInstanceName”
{
property="*" |
property=“propertyName” param=“parameterName” |
property=“propertyName” value="{string | <%= expression%>}"
}
/>
示例:
先创建一个表单property.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>jsp:setproperty</title>
</head>
<body>
<form action="setproperty.jsp" method="post">
姓名:<input type="text" name="name"/><br/>
班级:<input type="text" name="clazz"/><br/>
专业:<input type="text" name="major"/><br/>
<input type="submit" value="提交"/>
<input type="reset" value="取消"/>
</form>
</body>
</html>
再通过useBean和setproperty来使用Student.java
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>jsp:setProperty</title>
</head>
<body>
<jsp:useBean id="student" class="bean.Student"></jsp:useBean>
<jsp:setProperty name="student" property="*"></jsp:setProperty>
<%=student.getName()%><br/>
<%=student.getClazz()%><br/>
<%=student.getMajor()%><br/>
</body>
</html>
property="*"时,jsp容器会遍历ServletRequest对象中参数,把ServletRequest和JavaBean
中名称相同的,把参数值传递给相应的JavaBean属性;
还可以单独传递值
<jsp:setproperty property="name" name="Student" value="小明”/>
上面时参数名相同,如果参数名不相同,则要通过param属性来指定参数名
<jsp:setproperty property="name" name="Student" param="name" value="小明”/>
浏览器打开