Struts(2010-8-5)
来源:互联网 发布:uploadify php demo 编辑:程序博客网 时间:2024/06/05 17:52
今天又开始重新学框架
Struts
Struts框架有两种方式,第一种要有form的,第二种是代理from的,
第一种写法:
<struts-config>
<data-sources />
<form-beans>
<form-bean name="AddStzActionForm" type="stz.struts.form.AddStzActionForm"></form-bean>
</form-beans>
<global-exceptions />
<global-forwards />
<action-mappings >
<action
attribute="AddStzActionForm"
input="/Dept.jsp"
name="AddStzActionForm"
path="/Dept"
scope="request"
type="stz.struts.action.AddStzAction">
<forward name="ok" path="/Result.jsp"/>
</action>
</action-mappings>
<message-resources parameter="stz.struts.ApplicationResources" />
</struts-config>
Action写法
public class AddStzAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
// TODO Auto-generated method stub
AddStzActionForm addStzActionForm =(AddStzActionForm)form ;
DeptBean dept=new DeptBean();
dept.setDeptNo(addStzActionForm.getDeptNo());
dept.setDname(addStzActionForm.getDname());
dept.setLoc(addStzActionForm.getLoc());
//dept.setDname("stz");
request.setAttribute("Dept", dept);
System.out.print(dept);
return mapping.findForward("ok");
//return super.execute(mapping, form, request, response);
}
第二种写法:
<struts-config>
<data-sources />
<form-beans >
<!--这里是内置包中的form-->
<form-bean name="DeptForm" type="org.apache.struts.action.DynaActionForm"></form-bean>
<!--这里用到了那个javaBean对象-->
<form-bean name="deptBean" type="Stz.Bean.DeptBean"></form-bean>
</form-beans>
<global-exceptions />
<global-forwards />
<action-mappings >
<action
attribute="addDeptForm"
name="DeptForm"
input="DeptForm"
scope="request"
parameter="method"
path="/deptAction"
type="Stz.DynStruts.DepAction">
<forward name="ok" path="/Success.jsp"></forward>
<forward name="fail" path="/fail.jsp"></forward>
</action>
</action-mappings>
<message-resources parameter="com.yourcompany.struts.ApplicationResources" />
</struts-config>
Action 写法
public class DepAction extends DispatchAction {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
// TODO Auto-generated method stub
return super.execute(mapping, form, request, response);
}
public ActionForward AddDept(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
DynaActionForm dynForm = (DynaActionForm) form;
DeptBean dept = (DeptBean) dynForm.get("deptBean");
ActionMessages msgs = new ActionMessages();// 错误机制
if (dept.getDeptNo() <= 0) {
msgs.add("deptNo", new ActionMessage("addDept.deptNo.err"));
}
if ("".equals(dept.getDname())) {
msgs.add("dname", new ActionMessage("addDept.dname.err"));
}
if ("".equals(dept.getLoc())) {
msgs.add("loc", new ActionMessage("addDept.loc.err"));
}
if(!msgs.isEmpty()){
saveErrors(request, msgs);
return mapping.findForward("input");
}
request.setAttribute("Dept", dept);
return mapping.findForward("ok");
}
}
第一种与第二种基本相似啦,就是代理的就不用谢ActionForm啦,
现在在想,有了Struts就不用servlet了吧,
struts的原理也就是这样啦,通过webConfig.xml加载struts,然后通过请求到struts.config
中找到ActionForm,然后再到Action中处理业务,在根据不同的情况转到不同的页面。
- Struts(2010-8-5)
- Struts(5)Struts标签介绍
- Struts(8)Struts的动态表单(dynamic form)
- Struts(8)拦截器
- Struts(8)拦截器
- struts(5)
- Struts-5
- Struts(1)初识Struts
- Struts(19)Struts集成
- Struts(19)Struts集成
- Struts原理与实践(8)
- Struts原理与实践(8)
- Struts原理与实践(5)
- Struts原理与实践(5)
- Struts原理与实践(5)
- Struts原理与实践(5)
- Struts原理与实践(5)
- Struts原理与实践(5) [转]
- 第五章: 汇编器指令
- GTK QT environment
- Qt编程调用外部程序打开文件
- 打印出本进程的process relationship的内容
- java编程过程中对处理异常的心得
- Struts(2010-8-5)
- 我的“国十条”
- Facebook的七个伸缩性策略
- PSCP的简明使用方法
- Windows CE 6.0 启动过程分析(转)
- ASP.NET中获取本机的IP
- winfrom 在任务栏上的右键菜单
- MIPS--cache管理
- C#线程参考手册Chapter 1笔记