struts2中如何让表示必填的“*”显示在输入框后面

来源:互联网 发布:婚庆制作软件 编辑:程序博客网 时间:2024/05/21 13:59

在struts2中设置required属性为true后就会在label的后面显示“*”表示必填项,但是很多人不习惯这种显示方式,有很多人希望“*”能够显示在输入框的后面,这样既美观又舒服,怎样处理呢?

   在struts2的主题xhtml中有一个模板controlheader-core.ftl,其中有这么一段代码:
<#if parameters.required?default(false) && parameters.requiredposition?default("right") != 'right'>
        <span class="required">*</span><#t/>
</#if>

${parameters.label?html}<#t/>


<#if parameters.required?default(false) && parameters.requiredposition?default("right") == 'right'>
 <span class="required">*</span><#t/>
</#if>
这一段代码就是和“*”有关系的了,但是它放在这里就不会达到我们想要的结果,把它移动到哪里才可以呢?我在“
自定义模板,改变struts2中校验信息的显示格式
”这篇文章中已经分析过text.ftl 和 controlheader-core.ftl、 controlfooter.ftl的关系了,我们要做的就是自定义三个文件覆盖(覆盖方法请参考:
自定义模板,改变struts2中校验信息的显示格式
)框架中原有的文件。清楚了以上三个文件的关系之后,就会很清楚的知道以上代码应该放在controlfooter.ftl中(只需要把蓝色部分代码剪贴过去就可以),放置的位置为(红色字体部分):
${parameters.after?if_exists}<#t/>
<#--
'*'show
-->
<#if parameters.required?default(false) && parameters.requiredposition?default("right") == 'right'>
 <span class="required">*</span><#t/>
</#if>
    </td><#lt/>
    这样就大功告成了!!

原创粉丝点击