我正在使用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
这没关系,但现在我想使用带有地图值的函数来获取'='之后的字符串,表示'1'。我怎么能这样做?
提前感谢。
答案 0 :(得分:0)
如果你想要地图中所有值的最后一个字符,为什么不在任何控制器类中为你准备这张地图的java级别做子串。不记得我给了免费的建议,但实际上它更好你你的逻辑在控制器类而不是JSP中工作。 即使您仍然希望在jsp中编写子字符串代码,然后使用“”标记。
下面的代码是在“string”变量中设置map值 '&lt;'c:set var =“string”value =“'&lt;'bean:write name =”element“property =”value“/'&gt;'”/&gt;
下面的代码是打印“string”变量的子串。 '&lt;'c:out value =“$ {fn:substring(string,start,end)}”/'&gt;'
答案 1 :(得分:0)
一个老问题,但是却永远不知道何时有人使用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>