Struts2_访问Web元素(保存数据)

后台的Action跟我们前台的页面来通讯的时候,由于它拿不到request,session,servletContext比如当我们有人登陆了,我们要在session中设一个值,表示它登陆了,但是如果你Action访问不到session,你如何把相关的数据设到session里面,response不用访问它,因为我们的结果是通过result返回的。(其实request我们也很少去拿它,因为我们Action的成员变量默认会起到request的作用,它自己会放到valueStack里面, valueStack本身就是放到request里面,所以根本不用去拿request.)

 采取IOC(控制反转)的设计思想,依赖注入DI

Index.jsp


用户名
密码

UserAction.java

package com.demo.web.action;

import java.util.Map;

import org.apache.struts2.interceptor.ApplicationAware;
import org.apache.struts2.interceptor.RequestAware;
import org.apache.struts2.interceptor.SessionAware;

import com.demo.pojo.User;
import com.opensymphony.xwork2.ActionSupport;

public class UserAction extends ActionSupport implements RequestAware, SessionAware, ApplicationAware {

	private User user;
	private Map request;
	private Map session;

	private Map application;

	/**
	 * 新增
	 * 
	 * @return
	 */
	public String add() {
		System.out.println("进入add方法...");
		System.out.println(user);
		session.put("user", user);
		return "add";
	}

	public User getUser() {
		return user;
	}

	public void setUser(User user) {
		this.user = user;
	}

	@Override
	public void setApplication(Map application) {
		this.application = application;

	}

	@Override
	public void setSession(Map session) {
		this.session = session;

	}

	@Override
	public void setRequest(Map request) {
		this.request = request;

	}

}

Struts.xml


	

	
		
			{2}{1}.jsp		
	

addUser.jsp


欢迎进入add页面

用户名:${user}

 

你可能感兴趣的:(Struts2_访问Web元素(保存数据))