在我的spring应用程序中,对于每个实体类,我有一组共享一个共同结构的视图。常见的结构是存储在/ 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>
除了param entity
之外,我还需要向公共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"/>
另外,在我的实体类的超类中,我有这个方法:
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;
}
返回属性名称列表。如果我从我的构造函数这个列表传递到我的视图,有没有办法用它来替换{{1}}?
答案 0 :(得分:2)
将此新值添加到控制器的ModelAndView中
ModelAndView mav = new ModelAndView("your view");
mav.addObject("arguments",getListaArgumentos());
然后你可以在创建include
之前将视图传递给像这样的共同点 <c:set var="arguments" value="${arguments}" scope="request"/>
<jsp:include page="../../common/listagem.jsp">
顺便说一句,永远不要用自己的语言来编码,记住最开发的社区是英语演讲者。