我们使用Jakarta Taglibs输出一些基本的HTML表单元素,例如choose。看来这个图书馆已经退役了..有没有好的替补?寻找简单的东西,将Java Map
输出并输出到HTML。
答案 0 :(得分:2)
您可以使用JSTL <c:forEach>
。每次迭代都会返回Map.Entry
,而后者又有getKey()
和getValue()
方法。假设你有Map<String, String>
选项值作为地图键,选项标签作为地图值,这是一个例子:
<select name="foo">
<c:forEach items="${bean.map}" var="entry">
<option value="${entry.key}" ${entry.key == param.foo ? 'selected' : ''}>${entry.value}</option>
</c:forEach>
</select>
关于遗留的Jakarta taglib的替换,请看一下MVC框架,它提供了用于将模型与视图绑定的taglib。例如Struts 1.x(实质上是遗留的Jakarta taglib的轻微演变),Struts 2.x(进一步演化)和JSF(与Struts 2.x在同一方向上的另一个演变)。
以下是如何在JSF中呈现HTML <select>
的示例。
<h:selectOneMenu id="foo" value="#{bean.selectedItem}">
<f:selectItems value="#{bean.selectItems}" />
</h:selectOneMenu>
JSF透明地将它与模型绑定,而无需编写自己的控制器(servlet)。
答案 1 :(得分:1)
这个项目已经退役到阁楼,因为几乎所有的功能都是使用应用服务器中的标准实现。
中存在