本文摘自javaweb整合开发,王者归来
bean标签主要用于操作POJO,Cookie,Header以及Struts对象等。<bean:writer>标签可以输出POJO及其属性。
filter属性为true时,会对输出内容进行html编码,默认为trur.如果property不为空,则输出属性,否则
输出POJO本身(调用tostring方法)。当输出"属性的属性"时,可以使用"."操作符号,源码中会将每一级的bean取出,直到最后要去的那个属性。例如:
<body>
<%
Person person = new Person();
person.setName("张三"); //设置name
person.setCreateDate(new TimesTamp(System.currentTimeMillis()));//设置创建时间
request.setAttribute("person", person);
%>
<bean:write name="person"/> <br /> <!-- 输出person对象,调用toString方法 -->
<bean:write name="person" property="createDate.time" />
<!-- getCreateDate.getTime() -->
</body>
<bean:write>能输出request, session, application以及page中能够访问到的变量。<bean:write>与EL表达
式不同的是,如果变量不存在或者访问不到,会抛出异常。调用属性的属性时,要是第一个属性不存在,也会
保存异常。
<bean:cookie>, <bean:parameter>,<bean-header>用于获取cookie,paramter(地址栏中的参数),header对象
。这几个标签不能输出,只能将获取到的对象保存到另一个变量中,这些变量将以id属性指定的名存入到pageContext域中,这样可供其它标签使用,或者用<bean:write>输出
例如:
<!-- 获取cookie JESSIONID放进变量 -->
<bean:cookie id="sessionId" name="JESSIONID" />
<!-- 输出变量值-->
<bean:write name="sessionId" property="value" />
<!-- 获取地址栏参数action放进变量 -->
<bean:parameter id="action" name="action" />
<!-- 输出变量值 -->
<bean:write name="action" />
<!-- 获取Header参数host,放进变量 -->
<bean:header id="host" name="host" />
<bean:write name="host" />
其中:
1.name属性为要获取的对象,保存到id属性指定的对象中,如果不存在,会抛出异常
2.<bean:message>标签显示资源国际化信息,可以携带参数,例如:
<bean:message key="tag.info" arg0="张三" arg1="再见" />
其中key属性为资源索引
3.<bean:page>用于检索jsp隐式对象,property属性指定对象的名称,如request,response,application,config,
session等,id属性指定保存到某个变量中。
4.<bean:resource>可以获取本web程序内资源。name为资源路径,下面的代码将输出web.xml里的内容。
<bean:resource id="web_info" name="/WEB-INF/web.xml" /> <!-- 把web.xml内容放进web_inf对象中-->
<bean:write name="web_inf" /> <!-- 输出web_inf的值-->
5.<bean:struts>用于获取struts配置。下面的代码分别获取指定的FormBean,Mapping和Forward. 如果不存在,会
报错。
<bean:struts id="tagForm" formBean="tagForm" /> <!-- 把tagForm对象放到tagForm变量中-->
<bean:struts id="tagMapping" mapping="/tag" /> <!-- 把/tag映射给tagMapping变量 -->
<bean:struts id="list" forward="list" /> <!-- 把forward list赋给list变量-->
6.<bean:include>可以将一个外部文件包含进来,例如:
<bean:include id="google" href="http://www.google.com.hk" /> <!--把google.com.hk的内容放进变量-->
<bean:write name="google" filter="false" /> <!-- 输出google内容-->
7.<bean:size>获取集合对象的长度。