Struts2的路径问题:
如果你的路径已经是http:localhost:8080/t/t/t/t
要在刚网页访问指定jsp。
如果你这么写,<a href=xx.jsp/>是跳转不到该页面,<a href=/xx.jsp />只是跳转到根目录下的xx.jsp。
解决方法是,方法一:
跳转前的jsp上添加,绝对路径。(小技巧,在新建jsp,的头顶部就有一串<% string claspath….%>)
<a href=<%=basepath %>xx.jsp/>
方法二:
跳转前的jsp上添加,绝对路径。
<base href=“<%=basepath%>”/>
<a href=xx.jsp/>已经默认添加basepath。
尽量用绝对路径解决。
(提醒:虽然可以用redirect方式解决,但redirect方式并非必要)
通配符的好处:
Struts2.xml:
<package name="struts2" extends="struts-default" > <!-- 通配符方便,三行代码就可以了 --> <action name="*_*" class="com.action.{1}_Action" method="{2}"> <result name="success">/{1}_{2}welcome.jsp</result> </action> </package>
我的解释:
输入网址+输入action(例如:a_add)
根据你第一个*是a,第二个是add,找到action中的class com.action.a_Action里的方法add,如果返回的是success的字符串,就到达a_addwelcome.jsp的页面。
同理,只要名字和方法写的比较好,struts.xml就不需要修改了。
Memain?域模型?
就是在action.class里放一个封装好的类(比如user类里面有很多属性),加get/set方法。
- Dto:数据传输对象
- Do:数据对象
传中文值到后台。中文会出现乱码。
怎么解决?目前我还是解决不了我的问题。老师是他自己也试了很久,后来发现是最新版本的问题。
只要用旧版本,就可以解决了。我没试过。
读源码的最好的方法:
不是把所有文件都打开。方式是让自己学的更快,千万别用笨的方法。
就是从上层,一直往下读,到数据库。
题外话:
SSH框架的搭建,独立搭建各自的框架,试用成功,合并到一个项目里使用。