页面回显与URL模板映射
Posted longlyseul
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了页面回显与URL模板映射相关的知识,希望对你有一定的参考价值。
一.页面回显
对于需要返回界面的数据,可以将后台封装好的数据回显至原始jsp界面中。
举个例子:
User.java
package com.zk.data; public class User { public String sname; public String sno; public String sid; public String getSname() { return sname; } public void setSname(String sname) { this.sname = sname; } public String getSno() { return sno; } public void setSno(String sno) { this.sno = sno; } public String getSid() { return sid; } public void setSid(String sid) { this.sid = sid; } }
UserCustom.java
package com.zk.data; import java.util.HashMap; import java.util.List; import java.util.Map; public class UserCustom { private User user; private List<User> userList; private Map<String,Object> usermap=new HashMap<String,Object>(); public User getUser() { return user; } public void setUser(User user) { this.user = user; } public List<User> getUserList() { return userList; } public void setUserList(List<User> userList) { this.userList = userList; } public Map<String, Object> getUsermap() { return usermap; } public void setUsermap(Map<String, Object> usermap) { this.usermap = usermap; } @Override public String toString() { return "UserCustom [user=" + user + "]"; } }
SpringMVC.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd"> <context:component-scan base-package="com.zk.Controller"></context:component-scan> <!-- 配置注解处理器映射器 功能:寻找执行类Controller --> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"></bean> <!-- 配置注解处理器适配器 功能:调用controller方法,执行controller --> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"></bean> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/"></property> <property name="suffix" value=".jsp"></property> </bean> </beans>
UserController.java
package com.zk.Controller; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.servlet.ModelAndView; import com.zk.data.User; import com.zk.data.UserCustom; @Controller//<bean id="UserController" class="UserController路径"> public class UserController { //接受javaBean参数 @RequestMapping("list") public String list(Model model){ List<User> userList=new ArrayList<User>(); User user1=new User(); user1.setSid("1"); user1.setSname("a"); user1.setSno("No1"); User user2=new User(); user2.setSid("2"); user2.setSname("b"); user2.setSno("No2"); User user3=new User(); user3.setSid("2"); user3.setSname("b"); user3.setSno("No3"); userList.add(user1); userList.add(user2); userList.add(user3); model.addAttribute("userList", userList); return "list"; } }
list.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>回显List集合</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <h1>欢迎来SpringMVC</h1> <table border=‘1‘> <tr> <td>姓名</td> <td>ID</td> <td>编号</td> </tr> <c:forEach items="${userList}" var="user"> <tr> <td>${user.sname}</td> <td>${user.sid}</td> <td>${user.sno}</td> <td><a href="${pageContext.request.contextPath }/${user.sid}.do">修改</a></td> </tr> </c:forEach> </table> </body> </html>
运行后结果如下:
二.URL模板映射
在上面的例子中,list.jsp页面里有行URL模板映射
<td><a href="${pageContext.request.contextPath }/${user.sid}.do">修改</a></td>
在后台UserController.java的处理逻辑如下:
package com.zk.Controller; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.servlet.ModelAndView; import com.zk.data.User; import com.zk.data.UserCustom; @Controller//<bean id="UserController" class="UserController路径"> public class UserController { //接受javaBean参数 @RequestMapping("list") public String list(Model model){ List<User> userList=new ArrayList<User>(); User user1=new User(); user1.setSid("1"); user1.setSname("a"); user1.setSno("No1"); User user2=new User(); user2.setSid("2"); user2.setSname("b"); user2.setSno("No2"); User user3=new User(); user3.setSid("2"); user3.setSname("b"); user3.setSno("No3"); userList.add(user1); userList.add(user2); userList.add(user3); model.addAttribute("userList", userList); return "list"; } @RequestMapping("/{id}") public String update(@PathVariable Integer id){ System.out.println(id); return "redirect:list.do"; } }
它将返回list.jsp界面,并输出id值。
以上是关于页面回显与URL模板映射的主要内容,如果未能解决你的问题,请参考以下文章