gpt4 book ai didi

java - 使用jsp :include to pass a array from one jsp page to another

转载 作者:行者123 更新时间:2023-12-02 05:40:05 24 4
gpt4 key购买 nike

在我的 Spring 应用程序中,对于每个实体类,我都有一组共享公共(public)结构的 View 。公共(public)结构存储在位于/WEB-INF/jsp/common 的单独jsp 文件中。特定的jsp页面存储在/WEB-INF/jsp/private/中,现在有以下内容:

<jsp:include page="../../common/listagem.jsp">
<jsp:param name="entity" value="<Entity_name>"/>
</jsp:include>

除了参数entity之外,我还需要向公共(public)jsp页面传递一个包含实体属性的数组。我正在使用这样的东西:

<jsp:param name="elements" value="login"/>
<jsp:param name="elements" value="pnome"/>
<jsp:param name="elements" value="unome"/>
<jsp:param name="elements" value="email"/>

但我想要这样的东西:

<jsp:param name="elements" value="login,pnome,unome,email"/>

此外,在我的实体类的父类(super class)中,我有这个方法:

public List<String> getListaArgumentos() {
List<String> lista = new ArrayList<String>();

int counter = 0;
String nome = this.getArgumentName(counter);
do {
lista.add(nome);
nome = this.getArgumentName(++counter);
}while(nome != null);

return lista;
}

返回属性名称列表。如果我从构造函数将此列表传递到我的 View ,有没有办法使用它来替换 "login,pnome,unome,email"

最佳答案

将此新值添加到 Controller 的 ModelAndView 中

           ModelAndView mav = new ModelAndView("your view");
mav.addObject("arguments",getListaArgumentos());

然后你可以像这样在包含之前将 View 传递给 common

        <c:set var="arguments" value="${arguments}" scope="request"/>

<jsp:include page="../../common/listagem.jsp">

顺便说一句,永远不要使用你自己的语言来编码,记住最大的开发者社区是英语使用者。

关于java - 使用jsp :include to pass a array from one jsp page to another,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24595386/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com