解决struts2标签在HTML中错位的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决struts2标签在HTML中错位的问题相关的知识,希望对你有一定的参考价值。

在默认情况下,表单元素是分布在不同行的。如下代码:

<s:form action="login2">
    <s:textfield label="用户名" name="username"/>
    <s:password label="密码" name="password"/>
    <s:submit label="提交"/>
</s:form>

我们看着以上的代码跟html的差不了多少,但是因为struts2表单默认将表单内的每一个元素都分在单独的一行,label属性就如同我们在HTML中在<input type="text"/>前面的文字标签一样。如果我们不想让它自动换行,那就应该写成如下格式:

<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标签在HTML中错位的问题的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的这个html的表格错位了啊。是哪里错了?

iOS:“标签 - 标签”的错位视图框架在运行时会有所不同

struts2标签库

在 freemarker 模板中处理 struts2 标签

struts 标签库注解

iOS -- 解决iOS11中navigationBar上使用initWithCustomView按钮图片错位 frame无效