2017-07-25 63 views
0

在JSP页面中显示列表对象在JSP数字格式异常

<c:forEach var="trans" items="${transactionlist}"> 
      <tr scope="row" > 
      <td>${trans.Acc_No}</td> 
      <td>${trans.Ftrans_Acc}</td> 
      <td>${trans.deposit}</td> 
      <td>${trans.withdraw}</td> 
      <td>${trans.Balance}</td> 
      <td>${trans.Transid}</td> 
      </c:forEach> 
      </tr> 

在控制器

@RequestMapping(value="miniStatement/{accno}",method=RequestMethod.GET) 
    public ModelAndView MViewStatement(@PathVariable String accno,ModelMap map){ 
     map.addAttribute("transactionlist",managerservice.listViewCustomer(accno)); 
     System.out.println(managerservice.listViewCustomer(accno).toString()); 
    //in printing above statement I am getting list object of my Transaction 
     return new ModelAndView("PrintMiniStatement"); 
    } 

但我在 jsp页面获得数格式异常然后我想这: In Controller

@RequestMapping(value="miniStatement/{accno}",method=RequestMethod.GET) 
    public ModelAndView MViewStatement(@PathVariable String accno,ModelMap map){ 
     map.addAttribute("transactionlist",managerservice.listViewCustomer(accno).get(0)); 
     System.out.println(managerservice.listViewCustomer(accno).toString()); 
     return new ModelAndView("PrintMiniStatement"); 
    } 

在JSP中

<c:forEach var="trans" items="${transactionlist}"> 
      <tr scope="row" > 
      <td>${trans}</td> 
      </c:forEach> 
      </tr> 

我水平得到单列,而其余的数据我不能得到,虽然我知道我没有得到指数0值,但我的问题是如何检索这个列表数据jsp页面以表格形式

在道我检索前10名名单

@Override 
    public List<Transaction> listViewCustomer(String accno) { 
     Session session = sessionFactory.openSession(); 
    String sql="Select * from transactions where Acc_No="+accno+" limit 10"+";"; 
    SQLQuery query=session.createSQLQuery(sql); 



return query.list(); 

} 
+0

您想解析NumberFormatException或希望知道如何以表格形式显示结果。因为我在这里看到两个不同的问题。 –

+0

@DhavalSimaria以表格形式显示我的结果,但出现错误numberformatexception –

+0

请显示异常堆栈跟踪。 –

回答

0
  1. 您并未使用HQL查询。
  2. 错误地指定了return type

解决方案1 ​​:更改SQL查询HQL查询

使用.setMaxResults(10)为限制目的

@Override 
public List<Transaction> listViewCustomer(String accno) { 
    Session session = sessionFactory.openSession(); 
    // Add your desc criteria in the query some 'order by' 
    String HQL="from transactions t where t.Acc_No= :accno"; 
    Query query=session.createSQLQuery(HQL) 
      .setMaxResults(10) 
      .setParameter("accno",accno); 
    return query.list(); 
} 

解决方案2:更改return type查询List<Object []>并将其映射到您的交易类在服务方法或...

@Override 
public List<Object[]> listViewCustomer(String accno) { 
    Session session = sessionFactory.openSession(); 
    String sql="Select * from transactions where Acc_No="+accno+" limit 10"; 
    SQLQuery query=session.createSQLQuery(sql); 
    return query.list(); 
} 
+0

我得到的SQL错误com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的SQL语法中有错误; –

+0

我用createQuery替换了你的答案createSQLQuery然后我得到了这个事务没有被映射[来自事务t其中t.Acc_No =:accno] –

+0

在模型中我有这样的....... @ Entity(name =“transactions “) @Table(name =”transactions“) public class Transaction –