【问题标题】:Struts2 s:url for a image in s:submit not workingStruts2 s:url 在 s:submit 中的图像不起作用
【发布时间】:2014-06-09 08:56:03
【问题描述】:

我有一个带有这个表单的 JSP:

<s:form action="GestionPagos.action">
    <s:hidden key="actividad.id" />
    <s:submit type="image" 
        src="<s:url value ="/Internal Resources/imagenes/alta.png"/>">
    </s:submit>
</s:form>

但是,当我尝试在浏览器中渲染它时,struts 会抛出这个错误:

org.apache.jasper.JasperException: /Private/GestionCalendarios/MenuCalendario.jsp (línea: 144, columna: 1) /Private/GestionCalendarios/ListadoActividadColaboradores.jsp (línea: 51, columna: 64) Tag <s:submit not ended

我很确定这个标签以前可以工作,但更新后,它就不再工作了。

我可以使用经典的 HTML 输入标记使其工作,或者将按钮分为两个步骤:使用带有变量的 url 标记,然后在提交的 src 字段中使用。但我想知道为什么不一起工作以及标签的正确形式是什么。

【问题讨论】:

    标签: java html jsp struts2 ognl


    【解决方案1】:

    您不能在 tag 属性中使用 struts 标记。您也不需要为s:form 标记的操作属性提供操作扩展。像这样重写它

    <s:url var="imgUrl" value ="/Internal Resources/imagenes/alta.png"/>
    <s:form action="GestionPagos">
        <s:hidden name="actividad.id" />
        <s:submit type="image" src="%{#imgUrl}"/>
    </s:form>
    

    【讨论】:

    • 即键前的#符号。它在放置时具有特殊含义,用于指定从何处获取变量值。你可以找到更多关于它的信息here
    【解决方案2】:

    你不能嵌套 Struts 标签。

    改为

    <s:url var="myUrl" value="/Internal Resources/imagenes/alta.png" />
    <s:submit type="image" src="%{#myUrl}" />
    

    【讨论】:

      猜你喜欢
      • 2013-01-08
      • 2012-10-31
      • 1970-01-01
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      • 2014-01-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多