Struts2发送json或字符串到客户端

方式:使用JSP页面

Action:用户登录成功后,发送信息到客户端

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.unei.Model.User;
import com.unei.service.IUserService;

public class AdminAction extends ActionSupport {
	@Resource
	IUserService userService;
	ActionContext context = ActionContext.getContext();
	HttpServletRequest request;
	HttpServletResponse response;

	public String login() {
		try {
			request = (HttpServletRequest) context
					.get(ServletActionContext.HTTP_REQUEST);
			response = (HttpServletResponse) context
					.get(ServletActionContext.HTTP_RESPONSE);
			
			String userName = request.getParameter("userName");
			String pwd = request.getParameter("password");
			String msg="";
			if (userName == null || pwd == null || userName.equals("")
					|| pwd.equals("")) {
				request.setAttribute("msg", "登录失败");
				return SUCCESS;
			}

			User user = new User();
			user.setUser_name(userName);
			user.setPassword(pwd);
			if (userService.adminLogin(user)) {
				msg="登录成功";
				HttpSession session=request.getSession();
				session.setAttribute("userName", userName);
			} else {
				msg="登录失败";
			}
			//字符串或json(其实就是字符串)
			request.setAttribute("msg", msg);
		} catch (Exception ex) {
			ex.printStackTrace();
		}
		return SUCCESS;
	}
}

Struts.xml

<action name="admin_*" class="com.unei.Action.AdminAction" method="{1}">
	 <result name="success">/jsp/json.jsp</result>
</action>

json.jsp:

1.使用EL表达式取值

<%@ page language="java" pageEncoding="UTF-8" isELIgnored="false"%>
${requestScope.msg}

2.使用Struts标签

<%@ page import="com.unei.Action.AdminAction" %>
<%@ page language="java" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<s:property value="msg" escape="false"/> 
Action中要有对应的property(msg)属性,get/set方法

你可能感兴趣的:(Struts2发送json或字符串到客户端)