开源框架Struts:Action滴那些事儿

简介:
? Action的作用 
– 处理具体业务逻辑的小控制器 
? Action 的配置和使用 
– Action 的定义 
– Action 的声明 
– Action 的调用
 
? 使用Struts的流程 
– 图示 
– 定义Action 
– 定义Formbean 
– 配置Action、formbean 
– 配置映射结果 
– 定义JSP页面 
– 调用
 
? 映射结果 
– ActionForward 
– 配置映射 
– Global forward
---------------------------START-----------------------------------
? Action 的作用 
–和Servlet来比较使用 
–处理用户请求
 
? 处理具体业务逻辑的小控制器 
–调用后台逻辑 
? 业务逻辑 
? 数据逻辑 
–页面跳转 
? 返回ActionForward 
–被配置struts-config.xml文件中
? Action 的配置和使用 
–Action 的定义
 
? 定义一个类继承Action 
? 覆盖Action的execute方法 
– 例如: 
public  class LoginAction  extends Action {    
public ActionForward execute(ActionMapping mapping, ActionForm form,    
HttpServletRequest request, HttpServletResponse    
response)  throws Exception {    
}

–Action 的声明 
? 配置在struts-config.xml配置文件中,例如: 
<action path= "/login"    
type= "com.redking.action.LoginAction"    
>    
</action>

–Action 的调用 
? 表单调用 
? URL调用 
? 超链接调用 
? JavaScript调用
LoginAction.java
image
struts-config.xml
image
web.xml
image

? URL调用
image
image
? 超链接调用
index.jsp
image
image
image
image
? 表单调用
login.jsp
image
image
  image
image
? JavaScript调用
login.jsp
image
LoginAction.java
image
image
image
image
? 使用Struts的流程 
– 图示
image 
– 定义Action 
? 同上 
– 定义Formbean 
?略 
– 配置Action、formbean 
? Actoin 
– 同上 
? formBean 
–略 
– 配置映射结果 
<forward name= "welcome" path= "/pages/Welcome.jsp"></forward>    
<forward name= "failure" path= "/pages/Failure.jsp"></forward>

– 定义JSP页面 
<form name= "f1" id= "f1" action= "<%=path %>/login.amaker" method= "post">    
</form>

– 调用 
action= "<%=path %>/login.amaker"
? 映射结果 
–ActionForward 
? Action 的execute方法返回ActionForward对象来跳转到其他页面 
? 通过ActionMapping的方法来跳转 
–findForward(“welcome”); 
? 跳转到指定页面 
–getInputForward(); 
? 跳转到输入页面
–配置映射
<forward name= "welcome" path= "/pages/Welcome.jsp"></forward>    
<forward name= "failure" path= "/pages/Failure.jsp"></forward>
–Global forward 
<global-forwards>    
<forward name= "index" path= "/index.jsp"/>    
</global-forwards>
LoginAction.java
image
struts-config.xml
image
successfull.jsp
image
failure.jsp
image
测试:
image
登录成功
image
重新测试:
image
登录失败
image
重新改进下哈~
LoginAction.java
image
struts-config.xml
image
login.jsp
image
测试:
image
看下效果:
image
上面绕了个转跳转到登录页面,我们再改进下
LoginAction.java
image
struts-config.xml
image
重新测试下:
image
效果一样哈~
image
下面简单看下Global forward的效果
LoginAction.java
image
struts-config.xml
image
看下效果:
image
image




本文转自redking51CTO博客,原文链接:http://blog.51cto.com/redking/364089 ,如需转载请自行联系原作者
相关文章
|
监控 物联网 Windows
MQTT常见问题之mqtt自动断开了连接如何解决
MQTT(Message Queuing Telemetry Transport)是一个轻量级的、基于发布/订阅模式的消息协议,广泛用于物联网(IoT)中设备间的通信。以下是MQTT使用过程中可能遇到的一些常见问题及其答案的汇总:
|
物联网 大数据 定位技术
基于RFID、室内定位技术的图书馆定位系统功能解析
维小帮图书馆定位导航系统解决了复杂布局与找书难题,采用RFID、室内定位技术,结合大数据与云计算,提供电子地图、VR云览、AR导航及图书位置指引。通过集成座位预约,优化资源分配,提升读者体验,促进图书馆与城市的智慧化建设。
863 3
基于RFID、室内定位技术的图书馆定位系统功能解析
|
存储 Oracle 关系型数据库
【实操】单表数据量 200 GB,PostgreSQL 怎么应对??
【实操】单表数据量 200 GB,PostgreSQL 怎么应对??
881 1
|
Android开发
【亲测,安卓版】快速将网页网址打包成安卓app,一键将网页打包成app,免安装纯绿色版本,快速将网页网址打包成安卓apk
【亲测,安卓版】快速将网页网址打包成安卓app,一键将网页打包成app,免安装纯绿色版本,快速将网页网址打包成安卓apk
2585 0
|
16天前
|
人工智能 JSON 供应链
畅用7个月无影 JVS Claw |手把手教你把JVS改造成「科研与产业地理情报可视化大师」
LucianaiB分享零成本畅用JVS Claw教程(学生认证享7个月使用权),并开源GeoMind项目——将JVS改造为科研与产业地理情报可视化AI助手,支持飞书文档解析、地理编码与腾讯地图可视化,助力产业关系图谱构建。
23521 12
畅用7个月无影 JVS Claw |手把手教你把JVS改造成「科研与产业地理情报可视化大师」
|
4天前
|
Shell API 开发工具
Claude Code 快速上手指南(新手友好版)
AI编程工具卷疯啦!Claude Code凭借任务驱动+终端原生的特性,成了开发者的效率搭子。本文从安装、登录、切换国产模型到常用命令,手把手带新手快速上手,全程避坑,30分钟独立用起来。
1303 7
|
5天前
|
人工智能 BI 持续交付
Claude Code 深度适配 DeepSeek V4-Pro 实测:全场景通关与真实体验报告
在 AI 编程工具日趋主流的今天,Claude Code 凭借强大的任务执行、工具调用与工程化能力,成为开发者与自动化运维的核心效率工具。但随着原生模型账号稳定性问题频发,寻找一套兼容、稳定、能力在线的替代方案变得尤为重要。DeepSeek V4-Pro 作为新一代高性能大模型,提供了完整兼容 Claude 协议的 API 接口,只需简单配置即可无缝驱动 Claude Code,且在任务执行、工具调用、复杂流程处理上表现极为稳定。
1405 3
|
10天前
|
人工智能 缓存 Shell
Claude Code 全攻略:命令大全 + 实战工作流(完整版)
Claude Code 是一款运行在终端环境下的 AI 编码助手,能够直接在项目目录中理解代码结构、编辑文件、执行命令、执行开发计划,并支持持久化记忆、上下文压缩、后台任务、多模型切换等专业能力。对于日常开发、项目维护、快速重构、代码审查等场景,它可以大幅减少手动操作、提升编码效率。本文从常用命令、界面模式、核心指令、记忆机制、图片处理、进阶工作流等维度完整说明,帮助开发者快速上手并稳定使用。
2556 4
|
3天前
|
人工智能 JSON BI
DeepSeek V4-Pro 接入 Claude Code 完全实战:体验、测试与关键避坑指南
Claude Code 作为当前主流的 AI 编程辅助工具,凭借强大的代码理解、工程执行与自动化能力深受开发者喜爱,但原生模型的使用成本相对较高。为了在保持能力的同时进一步降低开销,不少开发者开始寻找兼容度高、价格更友好的替代模型。DeepSeek V4 系列的发布带来了新的选择,该系列包含 V4-Pro 与 V4-Flash 两款模型,并提供了与 Anthropic 完全兼容的 API 接口,理论上只需简单修改配置,即可让 Claude Code 无缝切换为 DeepSeek 引擎。
975 0