• 页面回显与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值。

  • 相关阅读:
    Linux 使用Crontab设置定时调用Shell文件
    Oracle SqlDeveloper创建JOB
    数据仓库搭建步骤
    Linux学习内容
    Windows平台手动卸载Oracle Server【完整+干净】
    ORA-12638:身份证明检索失败
    成功数据迁移的详细步骤
    SQL Server 日期转换到字符串
    删除无用文件,清理硬盘
    KMS安装后激活机器
  • 原文地址:https://www.cnblogs.com/longlyseul/p/12312871.html
Copyright © 2020-2023  润新知