为了账号安全,请及时绑定邮箱和手机立即绑定

Struts2入门

  • struts2
    查看全部
    0 采集 收起 来源:课程总结

    2016-05-25

  • 处理结果类型 <result type="属性"></result> type="chain" 将actio和另一个action联系起来 "dispatcher" jsp传值 请求转发 "redirect" jsp不传值 重定向 1)在result里面最重要的属性是type类型,type的默认值为dispatcher(转发),这个类型支持JSP视图技术。 (2)Struts2支持多种视图技术,例如JSP、Valocity(模板引擎)、FreeMaker(模板引擎)等。 (3)常用三个:chain,redirect,plaintext。 1、chain:将action和另外一个action链接起来。 2、redirect:重定向(会丢失请求参数)。 3、plaintext:返回网页源代码。 4、stream:返回inputstream用于文件下载。
    查看全部
  • 处理结果类型 ognl表达式可以在jsp页面去写,也可以在struts2页面中去写,在实际开发中是不常用的,默认情况下ognl是允许的,是打开状态 struts2框架默认该属性为true,即支持OGNL(Object-Graph Navigation Language)表达式。(一般不太常用) <param name="parse">true</param> <param name="location">...地址</param>
    查看全部
  • 处理结果类型
    查看全部
  • Struts2:处理结果是字符串。 注意:<result>/success.jsp</result> 有“/”:绝对路径,开始是整个项目的上下文路径 无“/”:相当于执行该action namespace指定的路径
    查看全部
  • 处理结果类型
    查看全部
  • 处理结果类型
    查看全部
  • INPUT处理结果类型。有2种方式能触发result标签的name为"input"的action。 1)传递的参数类型与声明类型不符,会自动return INPUT。 2)在<action>.java(继承ActionSupport)中,重写validate()的方法。写判断条件,给this.addFieldError(fieldName,errorMessage)写值,并在jsp中添加struts标签,会自动return INPUT。 @LoginAction.java public class LoginAction extends ActionSupport implements ModelDriven<User>{ private User user1 =new User(); public String login(){ /*if(user1.getUser()==null||"".equals(user1.getUser())){方法一 this.addFieldError("error_user", "用户名不能为空!"); return INPUT; }*/ System.out.println(user1.getUser()); System.out.println(user1.getPwd()); System.out.println(user1.getBookList().get(0).getUser()); System.out.println(user1.getBookList().get(1).getUser()); System.out.println(user1.getAge()); return SUCCESS; } public User getModel() { return user1; } @Override public void validate() {//方法二:推荐 if(user1.getUser()==null||"".equals(user1.getUser())){ this.addFieldError("error_user", "用户名不能为空!"); } } }
    查看全部
  • Struts接收参数: 用form表单的方式: 1.传到表单的xx.action 2.创建java action类(继承actionsupport,获取execute方法),getset方法封装数据,里面写方法,返回success private List<String> booklist; //传递数组! 书籍:<input type="text" name="booklist[0]"> //获取值:request.getXXX(“booklist[]”) Private String username; //传递普通值 然后getset 3.配置Struts文件 关于input: <result name="input">/login.jsp</result> 功能:当在表单中输入错误值得类型时,跳转到login.jsp页面。 第一种接收参数的方法:直接在action类中创建相应的属性和getter和setter,和前端的name名字相同。eg:前端的username,在action类中就要建立一个private String username; Struts会自动映射为这个属性赋值 第二种接受参数的方法:使用DomainModel,将username 和password两个属性封装为一个类User(必须是标准的JavaBean),在action中声明这个属性:private User user; 同时为user设置getter和setter;在前端中的name需要设置为user.name和user.password,才能映射成功 第三种接收参数的方法:使用ModelDriven<T>接口,这个action必须实现这个接口的public T getModel()方法。此时声明的属性必须实例化,eg: private User user = new User(); 同时不需要getter和setter。前端的name也只需要写username和password就可以,不需要再加域了。这种方法时最推荐的方法,因为可以减少前后端的耦合!
    查看全部
  • 接收参数
    查看全部
  • <!-- Struts2后缀方式一:struts.xml --> <constant name="struts.action.extension" value="action,do"></constant> <!-- Struts2后缀方式二:struts.properties --> struts.action.extension=action,do,struts2 <!-- Struts2后缀方式三:web.xml --> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> <init-param> <param-name>struts.action.extension</param-name> <param-value>do</param-value> </init-param> </filter> 注意:如果值什么都不写,则后缀不加才可以正常显示。如果这条语法都没有设置,则默认.action或什么都不加后缀。 struts2后缀: 三种方式: 1.struts.properties中:struts.action.extension=action,do,struts2 2.xml中增加常量constant: <constant name="struts.action.extension" value="action,do,struts2"></constant> 3.在过滤器中配置intt-param参数: <init-param> <param-name>struts.action.extension</param-name> <param-value>do,action,strtus2</param-value> </init-param>
    查看全部
  • 默认action配置,设置页面访问失败时的处理 【找不到默认action的原因和解决方法】 <default-action-ref name="index"></default-action-ref><br> <br> <action name="index"><br> <result>/error.jsp</result><br> </action> <br> <br> <action name="log_*" method="{1}" class="com.wayne.action.LoginAction"><br> <result name="login">/login.jsp</result><br> <result name="logout">/logout.jsp</result><br> </action><br> <br> 通配符会覆盖掉默认action,所以不能有【*_*】这样子的action,要改成【log_*_*】这类型的命名,否则,【*_*】里面的第一个*就包括了所有的字符,直接进入了这个action进行处理,无法进入默认的action了 '<default-acion-ref name="xxx"></default-action-ref>'通过这个来设置默认的action(当访问不存在的action 的时候会跳转到这个action,其中name就是默认action的name) 默认action: <default-action-ref name="error"></default-action-ref> <action name="error"> <result>/error.jsp</result> </action> 这两个name要相同,访问错误的action时跳转到error.jsp
    查看全部
  • 指定多个配置文件 通过`<include file="login.xml"></include>`来包含多个配置文件 '<constant name="struts.i18n.encoding" value="UTF-8"></constant>' struts 配置文件设置默认编码
    查看全部
  • 通配符配置
    查看全部
  • 三个方式 第一种写多个action,繁琐 第二种不推荐,了解。helloworld!update.action 第三种<action name="*_*" method="{2}" class="com.s.action.{1}Action"> <!-- {1}:HelloWorld the order of 1 2 can't change--> <result >/result.jsp</result> <result name="add">/{2}.jsp</result> <result name="update">/{2}.jsp</result> </action> 一个action处理多个请求解决方案 设置method属性 2采用!的方式访问请求,例如:user/userManager!addUser 3、采用通配符的方式(推荐) <package name="userManager" namespace="/user" extends="struts-default"> <action name="*User_*"class="UserManagerAction" method="{1}User"> <result name="success">/{2}.jsp</result> <result name="error" type="redirect">/error.jsp</result> </action> </package>
    查看全部

举报

0/150
提交
取消
课程须知
小伙伴们,学习本课程前需要具备Java Web基础,熟悉JSP和Servlet。
老师告诉你能学到什么?
1、能够对Struts2框架有更深入的了解 2、能够独立编写Struts2程序

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!