我正在努力完成与此问题通常提出的问题略有不同的事情......
我的选择实际上包含两位信息,如下所示:
<select name="location" size="20" >
<c:forEach ...>
<option value="${id}">${name} ${state}</option>
</c:forEach>
</select>
我知道$ {name}的最大大小是30,所以我想做的就是用空格填充30个字符,以便我可以设置列标题的样式(“名称”和“状态“)在选择之上,它们将合理地靠近对齐 似乎没有任何标准的JSTL标签对普通字符串执行此操作,或者我错过了一个?我想尝试避免在我的对象上创建一个单独的getter,所以如果一个标记库可以实现这一点,那将是理想的。
答案 0 :(得分:0)
你可以使用fn:length函数尝试这样的事情:
<select name="location" size="20" >
<c:forEach ...>
<c:remove var="filling_spaces" scope="page"/>
<c:forEach begin="0" end="${30 - fn:length(name)}" varStatus="status">
<c:set var="filling_spaces" value="${filling_spaces} "/>
<%-- ^notice the space concatenation --%>
</c:forEach>
<option value="${id}">${name}${filling_spaces}${state}</option>
</c:forEach>
</select>