[Struts2.0学习笔记] 标签语法

   Struts2.0标签的确很是强大,可以使JSP页面相当的简洁,但是,偶才开始看的时候总是不大明白,学习了DOC里的标签语法 后才恍然大悟.
   Struts2.0里的标签各个属性的定义与Struts1.X里不大相同,有着相同的名字,但是意义却不同,举例来说:
1.  <s:textfield name="postalCode"/> 
这个代码将把"postalCode"属性的值写到文本框里. 当这个字段提交到后台时,其改动也将保存到"postalCode"属性. 就这一部分来说跟之前的版本相同.
2.<s:textfield label="%{getText('postalCode')}" name="postalCode" />
 这个代码在上面的基础上加入了Label, 而且Label的值是从配置文件里去读的.这样有利于页面的国际化.注意任意放在%{...}中的字符串将被当做表达式执行.  %{getText('***')}是读取字符串的常用方法哦~
3.  <s:select  name="state" multiple="true"/>
    对于所有的非字符串属性,在Struts2.0中被直接处理成表达式,而不需要像上个例子中一样用%{...}给框起来.(相反的,如果你框起来了,就不会执行了-_-) 在这个例子中,multiple属性的值是一个布尔型,那么Struts2.0就不会处理成字符串,而是直接转化为布尔值.
4. <s:textfield  name="state" value="ca"/>
   Struts2.0中的所有value都是Object,而不是字符串,这也是它和Struts1.X的最大区别. 像这个例子中,value="ca",Struts2.0会去找名为getCa的属性值,显然这不是我们的本意,我们只是想赋个'ca'字符串给文本框.正确的方法是用%{}给它框起来:
     <s:textfield key="state.label" name="state" value="%{'ca'}" />

你可能感兴趣的:(jsp,object,struts)