簡體   English   中英

Spring Roo MVC:JSTL打印對象數組

[英]Spring Roo MVC: JSTL print array of objects

我有一個使用相關方法的Spring Controller類:

 @RequestMapping(value="shownews", method = RequestMethod.GET)
      public String getNews(Model model) {

         // test
         ArrayList<String> a =new ArrayList<String>();
         a.add("aa");
         a.add("bb");
         model.addAttribute("someA", a);

         // real data 
         model.addAttribute("newsS", News.getAllNews()); // returns a valid List<News>

       return "shownews";
   }

然后,我想在我的.jsp頁面中顯示以下值:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<%@page contentType="text/html;charset=UTF-8" language="java" %>
<%@page isELIgnored="false" %> 
...
VALUES: ${someA}     // output: '[aa, bb]'
VALUES: ${newsS}     // output: '[Category: categ1, Contents: cont1, Dateposted: 2011-
                                12-22 00:00:00.0, Id: 1, IdWho ........]'

<c:forEach items="${newsS}" var="someitem">
<p> Category: ${someitem.category} </p>  // output: 'Category: ', instead of  'Category: categ1'
</c:forEach>

看來該數組已正確提交以供查看...答案是:如何列出每個對象及其屬性? (使用forEach標簽)謝謝!

更新:

我的News.java文件僅包含字段聲明(無getter或setter)。

一些Roo生成的AspectJ文件:News_Roo_Entity.aj:

privileged aspect News_Roo_Entity { 
  .... 
  public static List<News> News.findAllNews() { 
     return entityManager().createQuery("SELECT o FROM News o", News.class).getResultList(); 
    }
 } 

News_Roo_JavaBean.aj:

 privileged aspect News_Roo_JavaBean {
     public String News.getCategory() 
     { 
         return this.category; // it's working 100%
     } 
     ... other get() methods 
  }  


解決了

我在項目中禁用了Roo(變成了一個簡單的Spring),但沒有結果...

[簡單]問題是:我的view.jsp具有標頭:

<%@page contentType="text/html;charset=UTF-8" language="java" %>
<%@page isELIgnored="false" %>
<div xmlns:jsp="http://java.sun.com/JSP/Page"     xmlns:c="http://java.sun.com/jsp/jstl/core" xmlns:page="urn:jsptagdir:/WEB-INF/tags/form" xmlns:field="urn:jsptagdir:/WEB-INF/tags/form/fields" xmlns:table="urn:jsptagdir:/WEB-INF/tags/form/fields" version="2.0">
.... 
</div>

已移除

<div xmlns:jsp= .... >

並替換為一個簡單的:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-   8859-1" isELIgnored="false" %>

可能只是從.jspx文件以及xmlns和taglib的混合復制粘貼...

感謝您的建議!

它應該完全按照您的嘗試工作: ${someitem.category}將打印方法News.getCategory()返回的對象的toString()結果。

您描述的行為看起來像getCategory()返回null (或更不可能的是: toString()方法返回一個空字符串)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM