一 介绍
<jsp:setProperty>作用
给已经实例化的javabean对象的属性赋值,一共有四种形式。
二 四种形式
![](https://i-blog.csdnimg.cn/blog_migrate/55d03f3b93f76fc919d9bc92dab92f75.png)
三 实例
1、login.jsp
<%@
page
language
=
"java"
import
=
"java.util.*"
contentType
=
"text/html; charset=utf-8"
%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+
"://"
+request.getServerName()+
":"
+request.getServerPort()+path+
"/"
;
%>
<!
DOCTYPE
HTML
PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN">
<
html
>
<
head
>
<
base
href
=
"
<%=
basePath
%>
"
>
<
title
>
My JSP 'login.jsp' starting page
</
title
>
<
meta
http-equiv
=
"pragma"
content
=
"no-cache"
>
<
meta
http-equiv
=
"cache-control"
content
=
"no-cache"
>
<
meta
http-equiv
=
"expires"
content
=
"0"
>
<
meta
http-equiv
=
"keywords"
content
=
"keyword1,keyword2,keyword3"
>
<
meta
http-equiv
=
"description"
content
=
"This is my page"
>
<!--
<link
rel
="
stylesheet
" type="text/
css
"
href
="styles.css">
-->
</
head
>
<
body
>
<
h1
>
系统登录
</
h1
>
<
hr
>
<
form
name
=
"loginForm"
action
=
"dologin.jsp?mypass=999999"
method
=
"post"
>
<
table
>
<
tr
>
<
td
>
用户名:
</
td
>
<
td
><
input
type
=
"text"
name
=
"username"
value
=
""
/></
td
>
</
tr
>
<
tr
>
<
td
>
密码:
</
td
>
<
td
><
input
type
=
"password"
name
=
"password"
value
=
""
/></
td
>
</
tr
>
<
tr
>
<
td
colspan
=
"2"
align
=
"center"
><
input
type
=
"submit"
value
=
"登录"
/></
td
>
</
tr
>
</
table
>
</
form
>
</
body
>
</
html
>
2、dologin.jsp
<%@
page
language
=
"java"
import
=
"java.util.*"
contentType
=
"text/html; charset=utf-8"
%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+
"://"
+request.getServerName()+
":"
+request.getServerPort()+path+
"/"
;
%>
<!
DOCTYPE
HTML
PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN">
<
html
>
<
head
>
<
base
href
=
"
<%=
basePath
%>
"
>
<
title
>
My JSP 'dologin.jsp' starting page
</
title
>
<
meta
http-equiv
=
"pragma"
content
=
"no-cache"
>
<
meta
http-equiv
=
"cache-control"
content
=
"no-cache"
>
<
meta
http-equiv
=
"expires"
content
=
"0"
>
<
meta
http-equiv
=
"keywords"
content
=
"keyword1,keyword2,keyword3"
>
<
meta
http-equiv
=
"description"
content
=
"This is my page"
>
<!--
<link
rel
="
stylesheet
" type="text/
css
"
href
="styles.css">
-->
</
head
>
<
body
>
<
jsp:useBean
id
=
"myUsers"
class
=
"com.po.Users"
scope
=
"page"
/>
<
h1
>
setProperty动作元素
</
h1
>
<
hr
>
<!--根据表单自动匹配所有的属性 -->
<%--
<jsp:setProperty name="myUsers" property="*"/>
--%>
<!--根据表单匹配所有部分的属性 -->
<%--
<jsp:setProperty name="myUsers" property="
username
"/>
--%>
<!--根表单无关,通过手工赋值给属性 -->
<%--
<jsp:setProperty name="myUsers" property="
username
" value="
lisi
"/>
<jsp:setProperty name="myUsers" property="password" value="888888"/>
--%>
<!--通过URL传参数给属性赋值 -->
<
jsp:setProperty
name
=
"myUsers"
property
=
"username"
/>
<
jsp:setProperty
name
=
"myUsers"
property
=
"password"
param
=
"mypass"
/>
<!-- 使用传统的表达式方式来获取用户名和密码 -->
用户名:<%=myUsers.getUsername() %><br>
密码:<%=myUsers.getPassword() %><br>
<
br
>
<
br
>
</
body
>
</
html
>
四 运行结果
![](https://i-blog.csdnimg.cn/blog_migrate/2176a16046844d7b96e13d92411bd04d.png)