利用jsp:setProperty来设置属性的值,利用jsp:getProperty来得到属性的值。首先编写JavaBean
程序名称:PropertyBean.java(带属性的JavaBean)
package sample;
public class PropertyBean
{
private String sample1 = "Start value1";
private String sample2 = "Start value2";
public String getSample1()
{
return sample1;
}
public void setSample1(String setString)
{
if(sample1!=null)
{
sample1 = setString;
}
}
public String getSample2()
{
return sample2;
}
public void setSample(String setString)
{
if(sample2!=null)
{
sample2 = setString;
}
}
}
定义好属性可以在程序中动态修改。通常使用表单的值来动态修改JavaBean的属性。
第一种调用JavaBean的JSP程序
程序名称:Attr1.jsp
<%@ page contentType="text/html;charset=gb2312" %>
<HTML>
<jsp:useBean id="myBean1" scope="page" class="sample.PropertyBean"/>
<BODY>
<HR>
调用jsp:setProperty之前的值:
<jsp:getProperty name="myBean1" property="sample1"/>
<P>
<jsp:setProperty name="myBean1" property="sample1" value="hh"/>
调用jsp:setProperty之后的值:
<jsp:getProperty name="myBean1" property="sample1">
<HR>
调用jsp:setPorperty之前的值:
<jsp:getProperty name="myBean1" property="sample2"/>
<P>
<jsp:setProperty name="myBean1" property="sample2" value="hh"/>
调用jsp:setPorperty之后的值:
<jsp:getProperty name="myBean2" property="sample2"/>
</BODY></HTML>
第二种方法是利用Form表单的元素对JavaBean赋值,需要注意的是表单元素的名字必须
和JavaBean的属性名字一样,可以对所有的属性赋值
<jsp:setProperty name="myBean1" property="*"/>
程序名称:Attr2.jsp
<%@ page contentType="text/html;charset=gb2312" %>
<HTML><BODY>
<FORM ACTION="" METHOD="POST">
<P>输入 1:
<INPUT TYPE="TEXT" NAME="sample1">
<P>输入 2:
<INPUT TYPE="TEXT" NAME="sample2">
<INPUT TYPE="SUBMIT" VALUE="提交">
<FORM>
<jsp:useBean id="myBean1" scope="page" class="sample.PropertySample"/>
<HR>
<jsp:setProperty name="myBean1" property="*"/>
<jsp:getProperty name="myBean1" property="sample1"/><BR>
<jsp:getProperty name="myBean1" property="sample2">
<P>
</BODY></HTML>
第三种方法是利用Form表单的元素逐一的对JavaBean赋值。
<jsp:setProperty name="myBean1" property="sample1"param="sample1"/>
其中param="sample1"中的sample1是表单元素的名称。
程序名称:Attr3.jsp
<%@ page contentType="text/html;charset=GBK" %>
<HTML><BODY>
<FORM ACTION="" METHOD="POST">
<P>输入1:
<INPUT TYPE="TEXT" NAME="sample1">
<P>输入2:
<INPUT TYPE="TEXT" NAME="sample2">
<INPUT TYPE="SUBMIT" VALUE="提交">
</FORM>
<jsp:useBean id="myBean1" scope="page" class="sample.PropertSample"/>
<HR>
<jsp:setProperty name="myBean1" property="sample1" param="sample1"/>
<jsp:setProperty name="myBean1" property="sample2" param="sample2"/>
<jsp:getProperty name="myBean1" property="sample1"/><BR>
<jsp:getProperty name="myBean1" property="sample2"/>
</BODY></HTML>
在表单文本框中输入汉字的时候,显示出现不正常,需要对字符重新编码。
public String getSample()
{
try
{
return new String(sample1.getBytes("ISO-8859-1")) ;
}
catch(Exception e)
{
return sample1;
}
}