struts标签3

来源:互联网 发布:unity3d场景免费下载 编辑:程序博客网 时间:2024/05/17 04:09
pagebean:page标签将页上下文中的application、config、request、response 或 session取出,然后用id属性值将它们绑定到page作用域中(这种绑定是为了其它标签能够使用该值),并创建对应的scripting变量(这种变量是为了JSP脚本能够使用该值)。
下面的代码片段示例了bean:page标签取出response,然后使用bean:write标签将response的characterEncoding和contentType属性输出:
<bean:page id="res" property="response"/><!-- 其它标签通过绑定到page作用域中的属性使用该值 --><bean:write name="res" property="characterEncoding"/><br/><bean:write name="res" property="contentType"/><br/><!-- JSP脚本通过scripting变量使用该值 --><%   String characterEncoding = res.getCharacterEncoding();   String contentType = res.getContentType();   out.println(characterEncoding+"<br/>");    out.println(contentType+"<br/>"); %>
您可以用和上面类似的代码访问application、config、request 或 session中的任何一个对象。
回页首
bean:parameterbean:parameter标签取回请求中的参数值。如果没有指定multiple属性则依据刚取回的值创建一个String类型的bean。如果指定了multiple属性则依据刚取回的值创建一个String[]类型的数组。然后用id属性值将String或String[]绑定到page作用域中(这种绑定是为了其它标签能够使用该值),并创建对应的scripting变量(这种变量是为了JSP脚本能够使用该值)。
下面的两个代码片段使用相同的url传递参数,url的形式为http://127.0.0.1:8080/struts-demo/parameter.jsp?param=1&param=2&param=3。前面的代码片段中没有指定multiple属性,因此p是String类型而且仅仅读取了参数的第一个值。后面的代码片段中指定了multiple属性的值,因此ps是String[]类型的包含所有参数的值。
<bean:parameter id="p" name="param"/><bean:write name="p"/>
<bean:parameter id="ps" multiple="true" name="param"/><logic:iterate id="p" name="ps">   <bean:write name="p"/><br/></logic:iterate>
回页首
bean:resourcebean:resource标签取回指定的web应用程序的资源,以InputStream或String的形式保存到page作用域中并且创建scripting变量。采用什么形式取决于标签的input属性,如果指定input则以InputStream的形式保存,如果没有指定input则以String的形式保存。
下面的两个代码片段示例了bean:resource标签,其中resource.txt是要使用的资源文件。前面的代码片段中没有指定input属性,因此以String的形式处理资源文件,bean:write标签输出资源文件的内容。后面的代码片段中指定了input属性的值,因此以InputStream的形式使用资源文件,两个bean:write标签分别输出InputStream对象的实例名(如java.io.ByteArrayInputStream@16dadf9)和类名(如class java.io.ByteArrayInputStream)。
<bean:resource id="str" name="/resource.txt"/><!-- 其它标签通过绑定到page作用域中的属性使用该值 --><bean:write name="str"/><br/><!-- JSP脚本通过scripting变量使用该值 --><%   out.println(str+"<br/>");%>
<bean:resource id="is" input="true" name="/resource.txt"/><!-- 其它标签通过绑定到page作用域中的属性使用该值 --><bean:write name="is"/><br/><bean:write name="is" property="class"/><!-- JSP脚本通过scripting变量使用该值 --><%   out.println(is+"<br/>");   out.println(is.getClass()+"<br/>");%>
回页首
bean:sizebean:size标签创建一个java.lang.Integer类型的bean,这个bean的值为该标签指定的Collection或Map中所含元素的个数。 这可以和logic:iterate标签配合使用,因为logic:iterate标签不能得到所叠代的集合的元素的个数,这有时候很不方便。
下面的代码片段示例了bean:size标签取出persons中还有元素的个数,其中listForm和persons的定义参见bean:define标签部分:
<logic:notEmpty name="listForm" property = "persons">     <bean:size id="size" name="listForm" property = "persons"/>   <bean:write name="size"/>  </logic:notEmpty>  
回页首
bean:strutsbean:struts标签取回Struts的内部对象formBean、forward或mapping的值,然后用id绑定到page作用域中(这种绑定是为了其它标签能够使用该值),并创建对应的scripting变量(这种变量是为了JSP脚本能够使用该值)。
下面的代码片段示例了bean:struts标签取出listForm对象,让我们先来看一下listForm的定义在读代码:
<!-- listForm的定义<form-bean name="listForm" type="org.solo.struts.form.ListForm" /> --><bean:struts id="listFormBean" formBean="listForm"/>name:<bean:write name="listFormBean" property="name"/><br/>type:<bean:write name="listFormBean" property="type"/><br/>dynamic:<bean:write name="listFormBean" property="dynamic"/><br/>
上面代码运行的结果为:
name:listForm type:org.solo.struts.form.ListFormdynamic:false  
原创粉丝点击