java - Jakarta Taglibs 的良好替代品?

标签 java html jsp taglib

我们使用Jakarta Taglibs输出一些基本的 HTML 表单元素,例如选择。看来这个图书馆已经退休了..有什么好的替代品吗?寻找一些简单的东西,它将采用 Java Map 并将其输出为 HTML。

最佳答案

您可以使用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 来将模型与 View 绑定(bind)。例如Struts 1.x (本质上是遗留的 Jakarta taglib 的轻微演变),Struts 2.x (进一步演变)和JSF (与 Struts 2.x 相同方向的另一次演变)。

以下是如何呈现 HTML <select> 的示例在 JSF 中。

<h:selectOneMenu id="foo" value="#{bean.selectedItem}">
    <f:selectItems value="#{bean.selectItems}" />
</h:selectOneMenu>

JSF 将其与模型透明地绑定(bind),无需编写您自己的 Controller (servlet)。

关于java - Jakarta Taglibs 的良好替代品?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4019910/

相关文章:

java - 我想了解幕后的事情 : Failed to write core dump

java - IntelliJ 书签窗口不可见

html - 颜色属性在 ionic 内容标签内的标题中不起作用

java - servlet 的 url 映射

java - 如何在android中将时间戳与当前时间进行比较,减去一定的分钟数

java - 创建可滚动区域有哪些技术?

javascript - Google map 上的自定义标记。 (适用于Iphone)

javascript - 如何避免外部 javascript 执行多次?

java - FileWriter 用 Ja​​va 写入用户桌面,而不是服务器桌面

java - 从 AJAX 成功函数中检索 ArrayList 元素