Struts html html:text不会关闭input type ="text"标签

Ser*_*Amo 3 struts struts-html

我使用struts-html生成表单字段.

例如:

<%@ taglib prefix="html" uri="/WEB-INF/taglibs/struts-html.tld" %>

<html:text property="email" styleId="email" size="44"/>
Run Code Online (Sandbox Code Playgroud)

产生:

<input type="text" name="email" size="44" value="" id="email"> 
Run Code Online (Sandbox Code Playgroud)

如上所示,生成的输入标记未关闭.这导致我的html无效.

struts-html.tld包括:

<tlibversion>1.2</tlibversion>
<jspversion>1.1</jspversion>
<shortname>html</shortname>
<uri>http://struts.apache.org/tags-html</uri>
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么生成的输入没有关闭?有更新的版本吗?哪里可以下载?

我试过用:

<html:html xhtml="true">
Run Code Online (Sandbox Code Playgroud)

其呈现为:

<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US"> 
Run Code Online (Sandbox Code Playgroud)

但是,我的输入标签会保持渲染不已闭合.


解:

使用标签:

<html:xhtml/>
Run Code Online (Sandbox Code Playgroud)

注意:如果您像我一样使用Tiles,请直接在包含的jsp中使用它.它不是从您的基本模板文件继承的.

注意:在xhtml模式下,您不能在html:form标记内使用sytleId.这不是问题,因为自动生成id属性来存储bean的名称.

小智 6

你能不能使用<html:xhtml/>

在页面中使用此标记会告诉所有其他html taglib标记将其自身呈现为XHTML 1.0

或者你可以使用<html:html xhtml="true">.