您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何将值添加到由jsp:useBean引用的ArrayList中?

如何将值添加到由jsp:useBean引用的ArrayList中?

这不是直接可能的。有<c:set>and<jsp:setProperty>标记,可让您通过setter方法在完全有价值的javabean中设置属性。但是,该List接口没有设置器,只有一个add()方法

一种 是将列表包装在真正的javabean中,如下所示:

public class ListBean {

    private List<Object> list = new ArrayList<Object>();

    public void setChild(Object object) {
        list.add(object);
    }

    public List<Object> getList() {
        return list;
    }
}

并设置为

<jsp:useBean id="listBean" class="com.example.ListBean" scope="request" />
<jsp:setProperty name="listBean" property="child" value="foo" />
<jsp:setProperty name="listBean" property="child" value="bar" />
<jsp:setProperty name="listBean" property="child" value="waa" />

但这毫无意义。如何正确解决问题取决于唯一的功能要求。如果要List在GET请求中保留某些内容,则应使用预处理servlet。创建一个doGet()方法中执行以下操作的servlet :

List<String> list = Arrays.asList("foo", "bar", "waa");
request.setAttribute("list", list);
request.getRequestDispatcher("/WEB-INF/page.jsp").forward(request, response);

当通过URL调用servlet时,该列表位于转发的JSP中,可通过以下方式使用:

${list}

老式<jsp:useBean>标签。在servlet中,您可以自由地以通常的方式编写Java代码。这样,您就可以仅使用JSP进行纯演示,而无需通过<jsp:useBean>标签来吞噬/破解某些预处理逻辑。

其他 2022/1/1 18:19:46 有474人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶