这是1.x的Struts(重量级)
工作流程:
访问jsp-->提交表单后数据提交到***.do(自己定义,不成文的定义是.do)-->Struts截获*.do的请求-->查找Struts-Config.xml,***.do对应的*Form与*Action-->将表单封装为*Form并反射调用*Action的execute()方法-->forward到****success.jsp-->结束
Struts-config.xml的DTD是:
(disply-name?,description?,form-beans?,global-exceptions?,global-forwards?,action-mapping?,controller?,message-resources*,plug-in*)
动态ActionForm(DynaActionForm):
为了避免标准ActionForm膨胀而设计的,使用动态可以获得标准ActionForm的所以功能。
在<form-beans>中配置
<form-bean name="registerForm" type="org.apache.struts.action.DynaActionform">
<form-property name="Username" type="java.lang.String"></form-property>
<form-property name="age" type="java.lang.Integer"></form-property>
<form-bean>
动态ActionForm在JSP页面怎么获取它的值:${requestScope.registForm.map.username}
非动态ActionForm在JSP页面怎么获取它的值:${requestScope.registForm.username}
struts-config.xml:
<struts-config>
<form-beans>
<form-bean name="registerForm" type="com.niit.form.RegisterAction"></form-bean>
</form-beans>
<action-mapping>
<action path="/register"
name="registerForm"
type="com.niit.action.RegisterAction"
scope="request"
validata="false">
<forward name="success" path="/WEB-INF/pages/registersuccess.jsp"></forward>
</action>
</action-mapping>
<controller processorclass="com.niit.controller.EncodingProcesser"></controller>
</struts-config>
减少ActionForm-->DynaActionForm在struts-config中配置(在<form-beans>中)
<form-bean name="registerForm" type="org.apache.struts.action.DynaActionform">
<form-property name="uname" type="java.lang.String"></form-property>
<form-property name="pwd" type="java.lang.String"></form-property>
<form-property name="age" type="java.lang.Integer"></form-property>
<form-bean>
在Action中取值:
DynaActionForm daf=(DynaActionForm)form;
String username=daf.getString("uname");
String password=daf.getString("pwd");
Integer age=(Integer)daf.get("age");
减少Action-->DispatchAction把重写Action方法的execute改名,多个"execute",不同的名字,
在Struts-config中配置:
在<Action> 中加属性,如: parameter="fatedgar",那么在要跳转到此Action的后面加?fatedgar=register。register是个方法名。如:
<form action="useraction.do?fatedgar=register" method="post">
用DispatchAction的话只能有一个ActionForm
减少做跳转的Action-->不减少就是写Action配success1.<action path="/loginPage" type="org.apache.struts.action.ForwardAction" parameter="/WEB-INF/pages/login.jsp"></action>
2.<action path="/loginpage" forward="/WEB-INF/pages/login.jsp"></action>
全局转发页面 在<struts-config>中配置
<global-forwards>
<forward name="homePage" path="/WEB-INF/pages/index.jsp"/>
<global-forwards>
若失败放回请求页面
先在Struts的Action中配置属性Input
如:Input="/login.jsp"
在Action中 return mapping.getInputForward();
分享到:
相关推荐
- 服务层:封装业务逻辑,如发送邮件、接收邮件、保存草稿、删除邮件等。 - 控制器:Struts 的 Action 类,接收 HTTP 请求,调用服务层方法,然后转发到相应的 JSP 页面显示结果。 - 视图:JSP 页面展示用户界面,...
- **论文撰写与提交**:提供用户友好的编辑界面,支持论文的上传和在线编辑,同时具备保存草稿和正式提交的功能。 - **评审流程**:设计一个自动化的评审系统,分配论文给评审专家,跟踪评审进度,支持评审意见的...
用户可以根据需要对文章进行各种操作,可能还支持对文章的状态(如草稿、已发布、隐藏等)进行管理。 11. **文章搜索**:搜索功能是提升用户体验的关键。系统可能实现了全文搜索或者基于关键词的查询,帮助用户快速...
2. 邮箱界面:展示收件箱、发件箱、草稿箱等不同邮件目录,支持邮件的查看、删除、移动等操作。 3. 发送邮件:用户填写收件人、主题和邮件内容,点击发送后,系统通过SMTP协议将邮件发送至指定地址。 4. 收取邮件...
4. 草稿箱:未完成或未发送的邮件会被保存在草稿箱中,方便用户后续编辑和发送。 5. 垃圾箱:删除的邮件会被移到垃圾箱,提供一定的误删防护,用户还可以选择彻底删除。 6. 联系人管理:用户可以添加、编辑和删除...
管理员:拥有网站的所有权限,所有的管理性的操作只能由管理员进行 密友:可以添加日记并维护自己的日记,同时可以查看指定的隐藏分类 好友:可以在指定的日记分类中添加并维护自己的日记 ...草稿: 用户:
1. 文章管理:支持文章的增删改查,包括发布、草稿、审核和回收站功能,实现文章的标签、分类和搜索功能。 2. 用户管理:提供用户注册、登录、权限分配和个人信息设置等功能,实现多角色的用户管理。 3. 菜单管理:...
角色分为: 管理员:拥有网站的所有权限,所有的管理性的操作只能由管理员进行 密友:可以添加日记并维护自己的日记,同时...草稿: 用户: 网站(修改网址基本信息): 参数:访问统计 可操作范围: 所有 属于自己的
4. **AJAX交互**:为了实现无刷新更新和保存博客草稿,我们可以使用JavaScript的XMLHttpRequest(或更现代的Fetch API)与服务器进行异步通信。当用户保存编辑时,JavaScript将收集表单数据,通过AJAX发送到服务器,...
后台可能有新闻草稿箱、审核流程等机制,确保发布的新闻质量。 8. **用户界面**: 用户界面设计应简洁易用,提供良好的用户体验。可能包括新闻列表、详情页、搜索结果页等,以及用户登录、注册、个人中心等功能。 9...
- **邮件删除和移动**:用户可以删除不需的邮件,或者将其移动到其他文件夹,如草稿箱、已发送或垃圾邮件。 - **搜索功能**:用户可以按关键词搜索历史邮件。 - **附件支持**:邮件系统应支持附件上传和下载,允许...
SSH开发博客系统是一种基于Java技术栈的Web应用开发方式,主要由Spring、Struts和Hibernate三个框架组成。这个系统能够支持完整的博客发布和管理功能,为用户提供了一个方便、高效的在线创作和分享平台。 Spring...
登录成功后,用户可以查看收件箱、发件箱、草稿箱等,发送和接收邮件,管理联系人,甚至设置过滤规则等高级功能。 文件列表中的`test.sqlite`可能是用来测试或记录应用程序运行时信息的SQLite数据库文件,SQLite是...
- 文章表:文章ID、作者ID、文章标题、内容、发布时间、状态(草稿/已发布)等。 - 评论表:评论ID、用户ID、文章ID、评论内容、评论时间等。 在实际开发中,SSH框架的集成使用能够实现松耦合、高复用的设计,提高...
我正在进行的Insectic辅助项目是帮助消除4个工作Struts之一; 计划外的工作。 在阅读了我想与Bill和Patty一起阅读的《凤凰计划》之后,我想到了这个主意,看看我是否可以创建一个应用程序,以帮助可视化,跟踪和...
任务管理系统 包括源码 本人单独完成 使用STRUTS2+JDBC框架做 页面中用到了jQuery 包括jquery的一些控件; 系统功能包括我的任务 草稿箱 新任务发布 联系人管理 系统设置等功能;
基于SSH(Struts + Spring + Hibernate)+ JSP 的项目代码功能描述如下: 1. 用户模块:提供用户管理功能,包括用户注册、登录、密码重置等。管理员可以管理用户账户,包括创建、编辑和删除用户账户。 2. 纳税人...
在实际操作中,记者可以创建新闻草稿,填写标题、内容、分类等信息,然后提交给主编或副主编进行初审。初审通过后,稿件会进入总编的审核流程。总编对新闻的完整性和准确性进行最后确认,审核通过后新闻将被发布到...
- **showDraftDepts**, **showInactiveDepts**:控制是否显示草稿或已停用的部门。 - **busiType**:指定业务类型,如“HR”。 #### 总结 `supp`标签集作为Struts2框架的有力补充,提供了强大且灵活的标签功能,...