2016-07-21 6 views
0

私はspring mvcを使用してeコマースストアを開発しています。突然、私はコントローラクラスからjspファイル(ビュー)の情報をユーザに渡す必要があります。コントローラクラスでは、ModelAndViewオブジェクトを作成し、addAttributeを使用してjspファイルでobjextを使用します。それから私は立ち往生した。 jspファイルでオブジェクトを使用することはできません。コントローラクラスからオブジェクトをjspファイルに戻す

こんにちは、これは私のユーザークラス //パッケージcom.ecommerce.demo

package com.ecommerce.demo; 

import javax.persistence.*; 

@Entity 
@Table(name="USER") 
public class User { 
    @Id 
    private String userName; 
    private String userPassword; 

    public String getUserName() { 
     return userName; 
    } 
    public void setUserName(String userName) { 
     this.userName = userName; 
    } 
    public String getUserPassword() { 
     return userPassword; 
    } 
    public void setUserPassword(String userPassword) { 
     this.userPassword = userPassword; 
    } 


} 

であり、これは今、私は私のメインページにuserNameuserPasswordを印刷することができますどのように私のコントローラクラス

package com.ecommerce.controller; 

import java.io.IOException; 
import java.util.List; 
import javax.websocket.Session; 

import org.hibernate.*; 
import org.hibernate.cfg.*; 
import org.json.JSONArray; 
import org.springframework.stereotype.Controller; 
import org.springframework.ui.Model; 
import org.springframework.validation.BindingResult; 
import org.springframework.web.bind.annotation.ModelAttribute; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RequestMethod; 
import org.springframework.web.servlet.ModelAndView; 

import com.ecommerce.demo.User; 

@Controller 
@RequestMapping(value="mainPageController") 
public class MainPageController { 

    @RequestMapping(value="/mainPage.html") 
    public ModelAndView getLogInForm(@ModelAttribute("user") User userInput, BindingResult result) throws IOException { 

     List<User> userDatabase = null; 

     userDatabase = session.createQuery("from User").list(); 

     session.beginTransaction();   
     session.close(); 

     ModelAndView model = new ModelAndView("MainPage"); 
     model.addObject("userNameAndPasswordList", userDatabase);  

     return model; 
    } 

} 

です.jspファイル?

<%@ page import="com.ecommerce.demo.User" %> 

<% 
    Usinf java code(i.e for loop) 
    I need to print all userName and userPassword of user class here. 
%> 

答えて

0

あなたは、このようなあなたのmainPage.jspを書き、その中にJavaコードを避ける必要があります。データを取得し、印刷するためのコードの下

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
... 
<table> 
    <c:forEach items="${userNameAndPasswordList}" var="user"> 
     <tr> 
      <td>${user.userName}</td> 
      <td>${user.userPassword}</td> 
     </tr> 
    </c:forEach> 
</table> 
+0

私はこのようなエラーを取得しています:org.springframework.web.servlet.ModelAndViewはorg.springframework.ui.Model –

+0

にキャストすることはできませんあなたの春の構成でビューリゾルバを設定する必要があります。 – Blank

+0

私はここで新しいものです、これを行う方法、またはリソースのリンクを教えてください。 –

0

使用。 JSP

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 


<table> 
    <c:if test="${userNameAndPasswordList!= null}"> 
        <c:forEach items="${userNameAndPasswordList}" var="user"> 
         <tr> 
          <td><c:out value="${user.userName}" /></td> 
          <td><c:out value="${user.userPassword}" /></td> 
         </tr> 
        </c:forEach> 
       </c:if> 
</table> 
0

使用JSTL

輸入JSTLタグは、JSPファイル内の結果を印刷します。

あなたはここでJSTL

foreachタグを使用する必要があり、この場合には、あなたの結果はあなたのオブジェクトのデータにアクセスすることができます$構文を使用してオブジェクトにuserNameAndPasswordList

です。

 <c:forEach items="${userNameAndPasswordList}" var="userdetails"> 

       <c:out value="${userdetails.userName}" /> 
       <c:out value="${userdetails.userPassword}"/> 

     </c:forEach> 
関連する問題