要添加到集合的JSP标记库

时间:2011-09-19 16:19:47

标签: jsp

我有一个JSP页面,它构建了一个字符串列表。您可以添加到列表并清除列表。我在页面顶部有一个scriptlet,用于解释提交操作(add vs clear)并实际执行操作。有没有办法进一步减少scriptlet代码?我需要创建自定义标签吗?这是代码:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<jsp:useBean id="users" class="java.util.ArrayList" scope="session"/>
<%
    String action = request.getParameter("action");

    if ("Clear".equals(action)) {
        users.clear();
    } else {
        String name = request.getParameter("name");

        if (name != null && !name.isEmpty()) {
            users.add(name);
        }
    }
%>    
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>User List</title>
    </head>
    <body>    
        <h1>User List</h1>
        <form method="post" action="Tag.jsp">
            <label for="name">Name</label>
            <input id="name" type="text" name="name"/>
            <input type="submit" value="Add" name="action"/>
            <c:if test="${not users.isEmpty()}">
                <input type="submit" value="Clear" name="action"/>
            </c:if>
        </form>
        <ul>
            <c:forEach var="user" items="${users}">
                <li>${user}</li>
            </c:forEach>
        </ul>
    </body>
</html>

2 个答案:

答案 0 :(得分:1)

我继续前进并将逻辑移动到Servlet,后者充当控制器。这似乎比自定义标签更有意义。

答案 1 :(得分:0)

没有标准的jstl taglibs。您必须创建自己的taglib,或谷歌寻找其他解决方案。

在这里查看标准的jstl taglib:http://download.oracle.com/javaee/5/jstl/1.1/docs/tlddocs/index.html