eclipse struts2框架搭建

记录一下老师上课的笔记。

1.先导包

正常导入struts2的jar包
要jar包留言
在这里插入图片描述

2.配置web.xml

  <filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

3.在src下创建struts.xml


<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="abc"  namespace="/"   extends="struts-default">
<!-- action 与控制层类对应 与jsp做交互,如何进入类下的方法如何接收值,如何传值,如何跳出类进入jsp,name与url有关 -->

<action name="user!*" 
class="com.my.controller.UserController" method="{1}">
<!-- 请求转发 -->
<result name="query">query.jsp</result>
<!-- 重定向 -->
<result name="into" type="redirect">user!query</result>

</action>

</package>
</struts>

注意:
class后面的路径是控制层对应的类。继承"struts-default"
action是与jsp交互,name=“user!*”,{1}、{2}表示第一第二个占位符,*为通配符
  通过action name的通配匹配,获得占位符,可以使用占位符放在result和method、class中替代匹配的字符。
  就代表着,(url里通过项目名/user!方法名)的约定进行请求转发或者重定向操作

4.简单的javaBean用于测试

切记的是getter,setter不能忘记

package com.my.pojo;

public class Student {
	private String id;
	private String name;
	private String password;
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}

}

5.controller层

依然切记的是getter,setter不能忘记,每调一个方法,都要进行getter和setter用于接传值


public class UserController {
	//strut2 接传值的
		//1.在类下声明对象,2.将这个对象(传递值)创建get set方法
		//向jsp传递一个集合
		List<Map> list =new ArrayList<Map>();
		//在方法中接收值
		String id =null;
		Student stu = new Student();
		
		public String query(){//action name=stu!*  method={1}
			//list = service.query();
			list =new ArrayList<Map>();
			Map map =new HashMap();
			map.put("name", "张三");
			map.put("age", "12");
			list.add(map);
			Map map2 =new HashMap();
			map2.put("name", "李四");
			map2.put("age", "22");
			list.add(map2);
			return "query";//result标签---》name---》jsp
		}
		//http://localhost:80/struts2/stu!add?stu.name=avs&stu.password=123
		//接收一个对象
		public String add(){
			System.out.println("struts 添加"+stu.getName()+stu.getPassword());
			return "into";//result标签---》name---》stu!query
		}
		
		//http://localhost:8081/struts0304/stu!del?id=12
		//删除的方法中接收id
		public String del(){
			System.out.println("struts 删除 接收的id是"+id);
			return "into";
		}
		public String update(){
			System.out.println("struts 修改保存");
			return "into";
		}

		
		public String getId() {
			return id;
		}

		public void setId(String id) {
			this.id = id;
		}

		public List<Map> getList() {
			return list;
		}

		public void setList(List<Map> list) {
			this.list = list;
		}

		public Student getStu() {
			return stu;
		}

		public void setStu(Student stu) {
			this.stu = stu;
		}

}

注意:返回值不能是void,是result的标签里的类型
用于测试的jsp

<body>
${list}
</body>

5.检测

在list中添加map返回到jsp
在这里插入图片描述
使用添加方法
注意:url里占位符直接用方法名,添加值需要对象名打点

url:在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值