Html Struts2生成的值为;提交;W3C标记验证程序说这是一个错误

Html Struts2生成的值为;提交;W3C标记验证程序说这是一个错误,html,struts2,w3c-validation,html-input,struts-tags,Html,Struts2,W3c Validation,Html Input,Struts Tags,我有以下标记代码: <s:submit action="shipment_deleteShipperFromChosenShipperViewList" type="image" src="/llr/theme/delete.gif" onclick="clearDirtyFlag();deleteShipperFromChosenShipperViewList('%{organizationInfo.orgId}');" ta

我有以下
标记代码:

<s:submit action="shipment_deleteShipperFromChosenShipperViewList" 
          type="image" src="/llr/theme/delete.gif"
          onclick="clearDirtyFlag();deleteShipperFromChosenShipperViewList('%{organizationInfo.orgId}');"
          tabindex="16" />

这将生成以下HTML:

<input type="image" 
       alt="Submit" 
       src="/llr/theme/delete.gif" 
       id="shipment_shipment_deleteShipperFromChosenShipperViewList" 
       name="action:shipment_deleteShipperFromChosenShipperViewList" 
       value="Submit"
       tabindex="16"
       onclick="clearDirtyFlag();deleteShipperFromChosenShipperViewList('1');"/>

W3C标记验证程序()将HTML标记为错误。错误消息是:

此时元素
输入
上不允许使用属性


显然,当类型为image时,
value
是不允许的属性。如何防止Struts2生成
属性

在固定版本发布之前,您有一些选择

  • 使用普通HTML输入标记
    而不是
    。如果您使用的不是
    simple
    主题,那么您还应该将
    放入一些HTML标记中

  • 将struts2核心jar中的
    submit.ftl
    复制到您的项目中,并对其进行修改

  • 忽略这个W3C标记验证程序错误,可能还有更糟糕的事情需要担心。:)


这里是W3C HTML检查器(验证器)的维护者。这不是HTML检查器中的错误。在这种情况下,检查器不允许
属性,这符合规范。如果您转到并向下滚动到簿记详细信息部分,您将看到它显示“必须忽略元素的value属性”。这在HTML4中是有效的,因为DTD不能仅在另一个属性具有特定值时才禁用属性。HTML5不使用DTD,因此它可以将其标记为无效。@RomanC-问题是如何防止struts2在图像输入上生成value属性。这完全是关于struts2的。@RomanC-这个问题非常清楚。“验证程序是否正确,如果正确,如何修复struts2代码以修复HTML?”。这些评论已经证实了验证器是正确的,所以它只能归结为“如何修复它?”。关于验证器的部分只是一个合理的检查,以确保问题不是基于错误的前提。由于@sideshowbarker证明验证器是正确的,我需要知道如何防止
Struts2
生成
属性。我按照@Aleksandr的建议创建了一个jira。