【问题标题】:jstl fn:length tag not working inside spring form tag in a jspjstl fn:长度标签在jsp中的弹簧形式标签内不起作用
【发布时间】:2013-02-15 13:32:43
【问题描述】:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>

在“form:form”中

<form:form class="form-container" name ="feedback_popup_form" id="feedback_popup_form"    action="savefeedback" method="post" modelAttribute="feedbackVO" commandName="feedbackVO">

<form:input type="hidden" path="strEmplRefrlSeq" value="${model.strEmplRefrlSeq}" />

<input type="hidden" id="mady" value = "${fn:length(model.strEmplRefrlSeq)}" />

在萤火虫中我得到了

<input id="strEmplRefrlSeq" type="hidden" value="2,10,11," name="strEmplRefrlSeq">
<input id="mady" type="hidden" value="0">

我的 fn:length 不适用于字符串输入。你能解释一下为什么会这样吗?

【问题讨论】:

  • model.strEmplRefrlSeq 类型是什么?字符串?
  • 请向我们展示实际代码。 &lt;input type="hidden" path="strEmplRefrlSeq" value="${model.strEmplRefrlSeq}" /&gt; 不可能变成 &lt;input id="strEmplRefrlSeq" type="hidden" value="2,10,11," name="strEmplRefrlSeq"&gt;。 name 属性从何而来?为什么路径属性(不是有效的 HTML BTW)会消失?
  • 如上所述,它在 form:form jstl 标记内,将路径转换为 ​​id 和名称

标签: forms jsp spring-mvc jstl


【解决方案1】:

表单支持对象放在名称“feedbackVO”下,所以我猜你确实需要

<input type="hidden" id="mady" value="${fn:length(feedbackVO.strEmplRefrlSeq)}" />

注意 form:input 标签没有任何 value 属性,所以你的代码相当于:

<form:input type="hidden" path="strEmplRefrlSeq" />

从路径生成 HTML 的输入值属性,获取命令对象中的值。

【讨论】:

  • 这是我要提交的表单值对象
  • 很明显你可以看到值(2,10,11)正在进入 firebug 的输入
  • 我的意思是value 不是&lt;form:input&gt; 标签的有效属性。请参阅标签参考:static.springsource.org/spring/docs/3.1.x/…。没有列出任何值属性。
  • 你完全是 ri8 我很抱歉这个值是因为 commandName 的缘故。非常感谢,祝你好运。
猜你喜欢
  • 1970-01-01
  • 2013-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-04
  • 1970-01-01
相关资源
最近更新 更多