【发布时间】:2018-02-05 23:52:54
【问题描述】:
我正在使用 Spring 5。 我有 UserController.java:
@Controller
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/")
public String userForm(Locale locale, Model model) {
model.addAttribute("users", userService.list());
return "editUsers";
}
@ModelAttribute("user")
public User formBackingObject() {
return new User();
}
@PostMapping("/addUser")
public String saveUser(@ModelAttribute("user") @Valid User user, BindingResult result, Model model) {
if (result.hasErrors()) {
model.addAttribute("users", userService.list());
return "editUsers";
}
userService.save(user);
return "redirect:/";
}
}
我还有类 User.java:
public class User {
public User() {
this.name = "";
this.email = "";
}
public User(String name, String email) {
this.name = name;
this.email = email;
}
private String name;
private String email;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
接口UserService.java:
public interface UserService {
void save(User user);
List<User> list();
}
还有UserServiceImp.java:
@Service
public class UserServiceImp implements UserService {
private List<User> listattt = new ArrayList<>();
@Transactional
public void save(User user) {
listattt.add(user);
}
@Transactional(readOnly = true)
public List<User> list() {
listattt.add(new User("a", "a@g.com"));
listattt.add(new User("b", "b@g.com"));
listattt.add(new User("c", "c@g.com"));
return listattt;
}
}
还有 EditUsers.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<script language="javascript" type="text/javascript">
var myArray1 = "${users}";////----->>>> ERROR HOW TO CONNECT USER LIST FROM CONTROLLER TO JSP FILE
var myTable= "<table><tr><td>User column</td>";
for (var i=0; i<3; i++) {
myArray1[i] = myArray1[i].toFixed(3);
myTable+="<tr><td> " + myArray1[i] + " </td>";
}
myTable+="</table>";
document.write(myTable);
</script>
</html>
现在我想将 UserController 中的用户列表与 editUsers.jsp 连接起来,但我不知道该怎么做? 我试图做类似 var myArray1 = "${users}";但它没有用。一般来说,我想在 Java Script 中的 JSP 中获取来自 Java 的数据。我想填充 JS 容器 myArray1 并根据这些数据执行下一步操作。 谢谢你的帮助。
【问题讨论】:
-
试试这样的
var myArray1 = <c:out value="${users}" /> -
是的,我想做这样的事情,但不幸的是这段代码不起作用。正如你所写的那样,我想在 Java 的 JS 中访问 JSP。
标签: javascript java spring jsp spring-mvc