struts2 使用simple标签模板


struts.ui.theme属性的问题

struts2 使用simple标签模板



《一》在默认情况下,表单元素是分布在不同行的。如下代码:
s:form action="login2">
s:textfield label="用户名" name="username"/>
s:password label="密码" name="password"/>
s:submit label="提交"/>
/s:form>我们看着以上的代码跟HTML的差不了多少,但是因为struts2表单默认将表单内的每一个元素都分在单独的
一行,label属性就如同我们在HTML中在 前面的文字标签一样。如果我们不想让它
自动换行,那就应该写成如下格式:

s:form action="login2" theme="simple">
s:textfield label="用户名" name="username"/>
s:password label="密码" name="password"/>
s:submit label="提交"/>
/s:form>
但在设置theme="simple"后,表单元素的label属性将 失效。这时我们就得在表单元素前面加入想用label显
示的文字。如:
s:form action="login2" theme="simple">
用户名:s:textfield label="用户名" name="username"/>
密码:s:password label="密码" name="password"/>
s:submit label="提交"/>
/s:form>

此时显示的为将不在是label中的值,而是显示文本框前面的文字,按钮则显示它原来的默认值:sbumit。

《二》struts2的submit标签如何不换行另解:
s:form action="regValidate" validate="true">
%-- 请求regValidate这个Action来进行处理,并且设置执行客户端校验--%>
s:form action="regValidate" validate="true">
%--加入token标签,避免重复提交--%>
s:token />
%--文本框标签,其中name属性指定传值参数,label属性指定该文本框标签名--%>
s:textfield name="userInfo.userName" label="姓名" />
s:password name="userInfo.userPwd" label="密码" />
s:submit value="确定" align="left"/>
s:reset value="重置" align="right"/>
/s:form>


%--加入token标签,避免重复提交--%>
生成的JSP页面为什么确定和重置按键不是在同一行而是如下:
确定
重置
如何才能用struts2标签做成:
确定 重置
struts2默认格式化form

解决:在struts.xml中加入以下自调节样式
constant name="struts.ui.theme" value="simple" />

这样label同样失效

与之相反
constant name="struts.ui.theme" value="xhtml" />

  在struts-core-2.06.jar中包含了一些默认的模版文件($ {struts-core-2.06.jar}/template),其中有ajax/simple/xhtml等.
   
  查看struts.properties或$ {struts-core-2.06.jar}/org/apache/struts2/default.properties文件,其中有如下配置:
  struts.ui.theme=xhtml
  struts.ui.templateDir=template
  struts.ui.templateSuffix=ftl
  
  这一段就是关于struts2模版的配置信息,我们可以修改struts.properties文件,将其改成
  struts.ui.theme=simple
  struts.ui.templateDir=template
  struts.ui.templateSuffix=ftl
  
  如果没有struts.properties文件,可以修改struts.xml文件,在其中加入如下行
  
constant name="struts.ui.theme" value="simple" />
constant name="struts.ui.templateDir" value="template" />
constant name="struts.ui.templateSuffix" value="ftl" />
struts.ui.theme=simple可以解决struts2标签自动换行问题,即不再自动被添加进table标签中。




猜你喜欢

转载自jackroomage.iteye.com/blog/1736638
今日推荐