栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

struts的初步使用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

struts的初步使用

目标:

一:struts的配置

二:struts的动态方法调用

三:struts的传参

四:struts与tomcat的集成

一:struts的配置

第一步:导依赖(pom.xml)

首先在左侧菜单栏右键

 然后点击Maven Project,再点击Next

  继续Next

  然后Catalog选择Internal,Filter选择最后一个,然后继续Next

 然后Group Id为包名,Artifact Id为项目名,然后Finish

 

 

 然后这一步还需要将jar包改为1.8

修改pom.xml


  4.0.0
  com.lj
  Lj_hibernate
  war
  0.0.1-SNAPSHOT
  Lj_hibernate Maven Webapp
  http://maven.apache.org
  
   
			javax.servlet
			javax.servlet-api
			4.0.1
			provided
		
  
  
    Lj_hibernate
    
    
				org.apache.maven.plugins
				maven-compiler-plugin
				3.7.0
				
					1.8
					1.8
					UTF-8
				
			
    
  

 右键项目找到Poperties 

 点击Project Facets,将Java改为1.8

 两个方法都是修改jar,将Dynamic Web Module改为3.1,然后点击黄色条里面的链接

将Content directory改为src/mainwebapp就可以了

 

 然后添加依赖

依赖:


            javax.servlet
            javax.servlet-api
            4.0.1
            provided
        
        
            org.apache.struts
            struts2-core
            2.5.13
        

    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  4.0.0
  com.lj
  T269_struts
  war
  0.0.1-SNAPSHOT
  T269_struts Maven Webapp
  http://maven.apache.org
 
   
            javax.servlet
            javax.servlet-api
            4.0.1
            provided
        

        
            org.apache.struts
            struts2-core
            2.5.13
        

 

 
    T269_struts
   
   
                org.apache.maven.plugins
                maven-compiler-plugin
                3.7.0
                
                    1.8
                    1.8
                    UTF-8
                

            

   

 


 

第二步:做配置(配置过滤器)

首先找到web.xml

修改成:


  Archetype Created Web Application
  
    struts
  	org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
  
  
    struts
    *.action
  

 注意:maven项目的结构

 第三步:框架配置文件

将(struts-base.xml、struts-sy.xml、struts.xml)放入src/main/resources中

 struts-base.xml




	
	
	
	
	
 
	
		regex:.*
	

  struts-sy.xml




	
		
	

 struts.xml




	
	
	
	
	
	

第四步:开发写web层

首先创建一个web层(Demo1Action)

package com.lj.one.web;
 
import com.opensymphony.xwork2.ActionSupport;
 
public class Demo1Action extends ActionSupport{
	public String add() throws Exception {
		// TODO Auto-generated method stub
		System.out.println("add方法、、、");
		return "bookEdit";
	}
	public String del() throws Exception {
		// TODO Auto-generated method stub
		System.out.println("del方法、、、");
		return "bookEdit";
	}
	public String edit() throws Exception {
		// TODO Auto-generated method stub
		System.out.println("edit方法、、、");
		return "bookEdit";
	}
 
}

然后创建两个页面

bookEdit

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here


成功界面
 

demo1

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here


	struts动态方法调用
	新增
修改
删除

然后写配置




	
	
		
			/bookEdit.jsp
		
	

 使用{2}方法




	
	
		
			/{2}.jsp
		
	
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here


	struts动态方法调用
	新增
修改
删除
新增

结果:

这个时候前三个点击就会报错了,因为后面那里没有改为第二种方法

三:struts的传参

 1:ModelDriver接口传参

 新建一个实体类

package com.lj.one.entity;
 
public class User {
	private String uid;
	private String uname;
	public String getUid() {
		return uid;
	}
	public void setUid(String uid) {
		this.uid = uid;
	}
	public String getUname() {
		return uname;
	}
	public void setUname(String uname) {
		this.uname = uname;
	}
	@Override
	public String toString() {
		return "User [uid=" + uid + ", uname=" + uname + "]";
	}
	
 
}

实现模型驱动接口

package com.lj.one.web;
 
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.lj.one.entity.User;
 
public class Demo1Action extends ActionSupport implements ModelDriven{
	private User user1=new User();
	
	public String add() throws Exception {
		// TODO Auto-generated method stub
		System.out.println("add方法、、、");
		return "bookEdit";
	}
	public String del() throws Exception {
		// TODO Auto-generated method stub
		System.out.println("del方法、、、");
		return "bookEdit";
	}
	public String edit() throws Exception {
		// TODO Auto-generated method stub
		System.out.println("edit方法、、、");
		return "bookEdit";
	}
	public String list() throws Exception {
		// TODO Auto-generated method stub
		System.out.println("list方法、、、");
		System.out.println(user1);
		return "bookEdit";
	}
	@Override
	public User getModel() {
		// TODO Auto-generated method stub
		return user1;
	}
 
}

demo1.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here


	struts动态方法调用
	新增
修改
删除
新增
struts的传参 ModelDriver接口传参
set属性传参
通过对象属性传参

运行结果:

 

 

二:set属性传参

在子控制器新建一个sex

package com.lj.one.web;
 
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.lj.one.entity.User;
 
public class Demo1Action extends ActionSupport implements ModelDriven{
	private User user1=new User();
	private String sex;
	
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	public String add() throws Exception {
		// TODO Auto-generated method stub
		System.out.println("add方法、、、");
		return "bookEdit";
	}
	public String del() throws Exception {
		// TODO Auto-generated method stub
		System.out.println("del方法、、、");
		return "bookEdit";
	}
	public String edit() throws Exception {
		// TODO Auto-generated method stub
		System.out.println("edit方法、、、");
		return "bookEdit";
	}
	public String list() throws Exception {
		// TODO Auto-generated method stub
		System.out.println("list方法、、、");
		System.out.println(user1);
		System.out.println(sex);
		return "bookEdit";
	}
	@Override
	public User getModel() {
		// TODO Auto-generated method stub
		return user1;
	}
 
}
demo1.xml
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here


	struts动态方法调用
	新增
修改
删除
新增
struts的传参 ModelDriver接口传参
set属性传参
通过对象属性传参
结果展示:

 

三:通过对象属性传参

新建一个对象

package com.lj.one.web;
 
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.lj.one.entity.User;
 
public class Demo1Action extends ActionSupport implements ModelDriven{
	private User user1=new User();
	private String sex;
	private User user2;
	
	public User getUser1() {
		return user1;
	}
	public void setUser1(User user1) {
		this.user1 = user1;
	}
	public User getUser2() {
		return user2;
	}
	public void setUser2(User user2) {
		this.user2 = user2;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	public String add() throws Exception {
		// TODO Auto-generated method stub
		System.out.println("add方法、、、");
		return "bookEdit";
	}
	public String del() throws Exception {
		// TODO Auto-generated method stub
		System.out.println("del方法、、、");
		return "bookEdit";
	}
	public String edit() throws Exception {
		// TODO Auto-generated method stub
		System.out.println("edit方法、、、");
		return "bookEdit";
	}
	public String list() throws Exception {
		// TODO Auto-generated method stub
		System.out.println("list方法、、、");
//		System.out.println(user1);
		System.out.println(sex);
		System.out.println(user2);
		return "bookEdit";
	}
	@Override
	public User getModel() {
		// TODO Auto-generated method stub
		return user1;
	}
 
}

demo1.xml

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here


	struts动态方法调用
	新增
修改
删除
新增
struts的传参 ModelDriver接口传参
set属性传参
通过对象属性传参

结果展示: 

四: struts与tomcat的集成

 

然后在bookEdit中调用

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here


成功界面
${age}

方法二:

实现ServletRequestAware,ServletResponseAware接口

package com.lj.one.web;
 
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
 
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.lj.one.entity.User;
 
public class Demo1Action extends ActionSupport implements ModelDriven,ServletRequestAware,ServletResponseAware{
	private HttpServletRequest req;
	private HttpServletResponse resp;
	private User user1=new User();
	private String sex;
	private User user2;
	
	public User getUser1() {
		return user1;
	}
	public void setUser1(User user1) {
		this.user1 = user1;
	}
	public User getUser2() {
		return user2;
	}
	public void setUser2(User user2) {
		this.user2 = user2;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	public String add() throws Exception {
		// TODO Auto-generated method stub
		System.out.println("add方法、、、");
		return "bookEdit";
	}
	public String del() throws Exception {
		// TODO Auto-generated method stub
		System.out.println("del方法、、、");
		return "bookEdit";
	}
	public String edit() throws Exception {
		// TODO Auto-generated method stub
		System.out.println("edit方法、、、");
		return "bookEdit";
	}
	public String list() throws Exception {
		// TODO Auto-generated method stub
		System.out.println("list方法、、、");
//		System.out.println(user1);
		System.out.println(sex);
		System.out.println(user2);
		HttpServletRequest request = ServletActionContext.getRequest();
		request.setAttribute("age", 12);
		req.setAttribute("hobby", "xp");
		return "bookEdit";
	}
	@Override
	public User getModel() {
		// TODO Auto-generated method stub
		return user1;
	}
	@Override
	public void setServletResponse(HttpServletResponse response) {
		// TODO Auto-generated method stub
		this.resp=response;
	}
	@Override
	public void setServletRequest(HttpServletRequest request) {
		// TODO Auto-generated method stub
		this.req=request;
	}
 
}

 结果展示:

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/331992.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号