【问题标题】:Struts : How to use function:substring in <bean:write> tagStruts:如何在 <bean:write> 标签中使用函数:子字符串
【发布时间】:2012-04-05 18:37:54
【问题描述】:

我正在使用Hashmap 在 jsp 上打印值。

这是我的逻辑:

<%--
property="collectonRoot" is my hashmap
property="value" is my hashmap values
--%>

<logic:iterate id="element" name="viewServerFileCounterStatusForm" property="collectonRoot">                
            <tr>
                <td  class="tblrows"><bean:write name="element" property="value" />
                </td>
        </tr>
    </logic:iterate>

数值输出是这样的

/archived/2012/3/20=1

这没关系,但现在我想使用带有映射值的函数来在 '=' sing 表示 '1' 之后获取字符串。我该怎么做?

提前致谢。

【问题讨论】:

标签: java jsp struts jstl el


【解决方案1】:

老问题,但永远不知道何时有人正在使用 struts 1 的东西处理一些遗留代码。就像我不得不忍受一样。

类似 phalgun 的建议,但我使用 ${} 访问元素,因为我无法让 bean:write 在 c:set 的值中工作

<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>


<logic:iterate id="element" name="viewServerFileCounterStatusForm" property="collectonRoot">
  <tr>
    <c:set var="varValue" value="${element.value}"/>
    <td class="tblrows"><c:out value="${fn:substring(varValue, 0, 8)}"/></td>
  </tr>
</logic:iterate>

【讨论】:

    【解决方案2】:

    如果您想要地图中所有值的最后一个字符,为什么不在您准备此地图的任何控制器类中的 java 级别中执行子字符串。不要介意我提供了免费建议,但实际上最好是您在控制器类而不是 JSP 中做你的逻辑工作。 即使您仍然希望在 jsp 中编写子字符串代码,也请使用“”标签。

    下面的代码是在“字符串”变量中设置地图值 ''"/>

    下面的代码是打印“string”变量的子字符串。 ''

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-22
      • 2011-02-14
      • 1970-01-01
      • 2011-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多