我正在使用spring mvc开发电子商务商店。突然之间,我需要在控制器类的jsp文件(视图)中使用一些信息。在控制器类中,我创建一个ModelAndView
对象,并使用addAttribute
在我的jsp文件中使用objext。然后我卡住了。我无法在jsp文件中使用该对象。
嗨,这是我的用户类 // package 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;
}
}
这是我的控制器类
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;
}
}
现在如何在mainPage.jsp文件中打印userName
和userPassword
?
<%@ 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 :(得分: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>
答案 1 :(得分:0)
使用以下代码获取和打印数据。
在jsp中导入JSTL标记
<%@ 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>
答案 2 :(得分:0)