Java框架:strurs(1)

原文地址:http://note.youdao.com/share/?id=14765868a53ed708256c036664af0cac&type=note

DMI

struts.xml
Java框架:strurs(1)_第1张图片
class
Java框架:strurs(1)_第2张图片
jsp文件为展示文件,在这里不做展示

通配符(将配置量降到最低)
Java框架:strurs(1)_第3张图片
采用/Student*表示
下面result方法中,{1}表示第一个星号,{2}表示第二个星号,对他们的符号进行通配配置
class方法
Java框架:strurs(1)_第4张图片
注意其匹配会匹配最精确的,很多通配符放在一起的时候,按照时间先后进行配置

Action中接收参数
class
  Java框架:strurs(1)_第5张图片
通过get和set方法设置成员变量的值
浏览器访问想doget方法一样 在网址后面加入参数,set后面的名字和?后面的
名字一样 ,例如setName和name中,set后面的Name和name的名字一样

DonmainModel接收参数
调用方法
user.name=a&user.age=9
调用类
Java框架:strurs(1)_第6张图片
预模型
Java框架:strurs(1)_第7张图片
dto database transference object
存在预模型与实际输入参数不符合的现象发生,例如在注册界面当中,user class会存储
username和password,但是在实际的存储当中出现comfimpassword,则先使用userDto
进行存储,然后在dto中拿出username和password,是得输入和存储能够一致。

ModelDriven传递参数
Java框架:strurs(1)_第8张图片
平时不常用,重点是放在MVC的概念,
调用过程
Java框架:strurs(1)_第9张图片
Struts2重点放在C上面,主要是写Action

接收参数出现中文( struts-2.3.24.1中失误
在struts.xml中进行配置
struts2中的文档中的值在
Java框架:strurs(1)_第10张图片
和参考文档
在2.1.6中有bug,在struts.xml中即使是配置也不能解决,如何解决?
在web.xml中更改

简单数据验证(验证上出现问题)
##读程序的方法,顺着线往下读##
Java框架:strurs(1)_第11张图片
在if(name==null...)...中进行判断,对前台传递错误信息,使用this.addFieldError(
"name","message");
jsp文件取出错误信息的方法
Java框架:strurs(1)_第12张图片
调用标签库<s:fielderror fieldName="name" theme="simple" >
注意提前要引入标签库:<%@ taglib uri="/struts-tags" prefix="s"%>
写入<s:debug></s:debug>在页面中会出现debug链接
取debug属性:<s:property value="errors.name[0]"/>,使用时候是将错误的信息放到
栈当中,然后在栈当中取出其相应的错误信息, errors.name[0]为ognl表达式

访问Web元素
取得 request,session,application
第一种方式
使用JavaScript来提交数据
Java框架:strurs(1)_第13张图片
获取数据
Java框架:strurs(1)_第14张图片
注意是Map类型,*request中就是StackContext中的值
前台访问 s:property不能访问
Java框架:strurs(1)_第15张图片
前台访问可以使用JSP语法或者使用struts的标签进行访问
struts:#request.r1,使用#进行访问

第二种方法(最常用)
DI:dipendency injection
IoC:inverse of control
Java框架:strurs(1)_第16张图片
依赖注入,request依赖于别人注入给自己,由自己控制变成别人控制,就是
由方式一转换成方式二

方式三
Java框架:strurs(1)_第17张图片

方式四
Java框架:strurs(1)_第18张图片


模块包含
自己写自己模块,不影响其他人写的模块

默认Action
defaultAction
Java框架:strurs(1)_第19张图片
只写项目名,在不访问下级文件时
写入default-action-ref时会直接访问默认的action

request的配置
Java框架:strurs(1)_第20张图片
Java框架:strurs(1)_第21张图片
1:服务器跳转,跳转到页面,不能是action
Java框架:strurs(1)_第22张图片
2:客户端跳转,跳转到视图
在别的包当中:
Java框架:strurs(1)_第23张图片
3:跳转到action
不要加"/"
4:跳转到action
r4跳转到r2,然后访问r2.jsp
5~10:一般都用不到

全局链接request
package内公用
extends从另外一个包中继承,工作中的extends的作用是通用的页面放
父类,使其返回的不用重复定义

Dynamic result动态返回
struts.xml
java类
r值动态确定,采用${r}动态读取stackContext的值
Java框架:strurs(1)_第24张图片

向结果传参数
struts.xml配置
t=${type}指明t指代一个参数
jsp文件取值
Java框架:strurs(1)_第25张图片
采用下面from actioncontext中
情况
Java框架:strurs(1)_第26张图片

Result总结

1.         常用四种类型:

    a)         dispatcher(默认)

    b)         redirect

    c)         chain

    d)         redirectAction

2.         全局结果集

    a)         global-results | extends

3.         动态结果(了解)

    a)         action中保存一个属性,存储具体的结果location

4.         传递参数

    a)         客户端跳转才需要传递

    b)         ${}表达式(不是EL


OGNL

你可能感兴趣的:(Java框架:strurs(1))