1、导入convention 包

2、java:

package com.struts.base.hello;





import java.io.IOException;

import java.io.PrintWriter;

import java.util.ArrayList;

import java.util.List;





import javax.servlet.http.HttpServletResponse;





import net.sf.json.JSONArray;





import org.apache.struts2.ServletActionContext;

import org.apache.struts2.convention.annotation.Action;

import org.apache.struts2.convention.annotation.Namespace;

import org.apache.struts2.convention.annotation.ParentPackage;

import org.apache.struts2.convention.annotation.Result;





import com.opensymphony.xwork2.ActionSupport;

import com.struts.base.model.User;





@Namespace("/wangh/test")

@ParentPackage("struts-default")

@Action(value = "mytest", results = { @Result(name = "success", location = "/base/convention/test.jsp") })

public class TestAction extends ActionSupport {





@Override

public String execute() throws Exception {

// List<User> users = new ArrayList<User>();

// for (int i = 0; i < 3; i++) {

// User user = new User();

// user.setUserName("zhanghua" + i);

// user.setPWD("pwd" + i);

// users.add(user);

// }

//

// // 获得response

// HttpServletResponse response = ServletActionContext.getResponse();

// response.setContentType("text/html");

// PrintWriter pw = null;

// try {

// pw = response.getWriter();

// pw.print(JSONArray.fromObject(users).toString());

// return "success";

// } catch (Throwable e) {

// e.printStackTrace();

// } finally {

// if (pw != null) {

// pw.close();

// }

// }

return SUCCESS;

}





@Action(value = "outjson")

public void outJSON() {

List<User> users = new ArrayList<User>();

for (int i = 0; i < 3; i++) {

User user = new User();

user.setUserName("zhanghua" + i);

user.setPWD("pwd" + i);

users.add(user);

}





// 获得response

HttpServletResponse response = ServletActionContext.getResponse();

response.setContentType("text/html");

PrintWriter pw = null;

try {

pw = response.getWriter();

pw.print(JSONArray.fromObject(users).toString());

pw.flush();

} catch (IOException e) {

e.printStackTrace();

} finally {

if (pw != null) {

pw.close();

}

}

}

}

注意方法注解访问方式  :

http://localhost:8080/strutsDemo/wangh/test/outjson.action

-----完

struts2 使用注解方式配置的更多相关文章

  1. atitit.ajax bp dwr 3.的注解方式配置使用流程总结 VO9o.....

    atitit.ajax bp dwr 3.的注解方式配置使用流程总结 VO9o..... 1. 安装配置 1 1.1. 下载  dwr.jar 1M 1 1.2. 配置注解方式..web.xml 1 ...

  2. atitit.ajax bp dwr 3.的注解方式配置使用流程总结.....

    atitit.ajax bp dwr 3.的注解方式配置使用流程总结..... 1. 下载  dwr.jar 1M 1 2. 配置注解方式..web.xml 1 3. Class 配置 2 4. 测试 ...

  3. SSH深度历险(十) AOP原理及相关概念学习+AspectJ注解方式配置spring AOP

    AOP(Aspect Oriented Programming),是面向切面编程的技术.AOP基于IoC基础,是对OOP的有益补充. AOP之所以能得到广泛应用,主要是因为它将应用系统拆分分了2个部分 ...

  4. Spring Aop实例@Aspect、@Before、@AfterReturning@Around 注解方式配置

    用过spring框架进行开发的人,多多少少会使用过它的AOP功能,都知道有@Before.@Around和@After等advice.最近,为了实现项目中的输出日志和权限控制这两个需求,我也使用到了A ...

  5. 跟着刚哥学习Spring框架--通过注解方式配置Bean(四)

    组件扫描:Spring能够从classpath下自动扫描,侦测和实例化具有特定注解的组件. 特定组件包括: 1.@Component:基本注解,识别一个受Spring管理的组件 2.@Resposit ...

  6. SpringMVC的注解方式配置

    SpringMVC支持使用注解方式配置,比配置文件方式更加灵活易用,是SpringMVC使用的主流模式. 1.在配置文件中开启SpringMVC的注解 <!-- 开启包扫描 --> < ...

  7. spring学习笔记 星球日two - 注解方式配置bean

    注解要放在要注解的对象的上方 @Autowired private Category category; <?xml version="1.0" encoding=" ...

  8. Spring框架学习(6)使用ioc注解方式配置bean

    内容源自:使用ioc注解方式配置bean context层 : 上下文环境/容器环境 applicationContext.xml 1 ioc注解功能 注解 简化xml文件配置 如 hibernate ...

  9. Spring boot 基于注解方式配置datasource

    Spring boot 基于注解方式配置datasource 编辑 ​ Xml配置 我们先来回顾下,使用xml配置数据源. 步骤: 先加载数据库相关配置文件; 配置数据源; 配置sqlSessionF ...

随机推荐

  1. JdbcUtils

    JdbcUtils 项目结构   db.properties driverClass=com.mysql.jdbc.Driver url=jdbc:mysql:///myTest username=r ...

  2. Android 打包签名 从生成keystore到完成签名 -- 转

    首先,我们需要一个keystore,当然已经有了的话就不用这一步了:cmd下:进入到jdk的bin目录,这样的话,android.keystore文件就会生成在这个目录下,签名的时候我们需要这个文件C ...

  3. OpenSSL库验证PKCS7签名

    使用Crypto库签名和验证签名请参考Crypto库实现PKCS7签名与签名验证,可以使用OpenSSL库验证Crypto签名,OpenSSL验证签名可使用简单的代码描述如下: //signature ...

  4. jquery读取csv文件并用json格式输出

    直接贴上代码: <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>Untit ...

  5. JavaScript中的继承模式总结

    一.总结: //js中的几种继承 //原型链的问题,包含引用类型的原型属性会被实例共享,子类型无法给超类型传递参数 function SuperType() { this.colors = [&quo ...

  6. 剑指offer系列55---最小的k个数

    [题目] 输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,. *[思路]排序,去除k后的数. package com.exe11 ...

  7. css 默认

    先写全局的样式 body { margin:0 auto; font-size:12px; font-family:Verdana; line-height:1.5;} ul,dl,dd,h1,h2, ...

  8. 借助HTML分别禁用IE8, IE9的兼容视图模式的小技巧

    IE 添加了兼容模式,开启后会以低一版本的 IE 进行渲染,但是我就遇到了一种情况,在 IE8 下只有不使用兼容模式页面才能显示正常,下面有个不错的方法可以解决这个问题 从 IE 8 开始,IE 添加 ...

  9. KB975517 "The update does not apply to your system"

    https://www.manageengine.com/products//desktop-central/patch-management/Windows-Vista-Ultimate-Editi ...

  10. FTP主/被动模式的原理

    ---------------------------------------------------------------------------------------------------- ...