struts2-三-30
struts2-3-30struts.xml中的常量配置:constant name struts.devMode valuetrue /开发模式打开,这
struts2-3-30
struts.xml中的常量配置:<constant name = "struts.devMode" value="true" />开发模式打开,这样在struts.xml中修改action的名字时不用重新“手动”启动服务器.以前总忘记,如何加jar包的源文件,今天看视频时注意了一下。前提是你有jar的源文件,在referenced libraries下找到药添加源文件的jar包,右键 properties ->java source attachment把你的源文件路径添加上即可。还可以添加javadoc location即类文件的文档说明,在类文件里选中要看的类,之后按F1即可看到该类的doc文档说明简单的客户端访问到接收到结果过程:
客户端http请求http://xxx/webapp/action到服务器,服务器分析请求路径,找到相应的webapp,然后参照里面的web.xml ,交给struts2filter来处理这个请求,struts2filter处理时会参考struts.xml文件,找到namespace(如果没有找到,struts就把该请求交给服务器处理,返回web.xml里的welcome-file),在找到对应的action处理,然后找到action处理后的返回结果result,返回给客户端。
2010.3.31
namespace默认是空的情况 等价于 namespace=""。如果路径下的action的namespace不存在则在namespace=""下找该action做相应处理。action的写法:
直接类名
实现action接口
继承actionsupport
struts.xml里action标签默认的class就是actionsupport路径问题:
struts2的路径问题是根据action的路径而不是页面的路径来确定,所以在页面上的链接尽量使用绝对路径
String path = request.getContextPath();//获得当前页面对应action的路径
String basepath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"
在页面的链接前加basepath
在jsp里也可以再<head>标签里加<base href="basepath">则该页面的所有链接前自动加上basepathaction配置的时候可以配置调用的action方法 method="方法名"
也可以不用在配置文件中配method,这样在请求时用”action名!方法名“来调用action的方法,这种方法要在配置文件中把常量struts2.DynamicMehtodInvocation设置为true(注意 默认情况是true)