`
highriver
  • 浏览: 72288 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于使用annotation实现struts2中的"dispatchAction"

    博客分类:
  • java
阅读更多
如题,谢谢。
通过配置文件好象很好实现,主要定义多个action节点。指定method=“*”就行。
但是我现在遇到的问题是全部想使用annotation。那么怎么才能在struts2中实现类似struts中的dispatchAction功能呢。这样我将来避免只有一个execute方法。将来使用annotation的校验也可以针对各个crud方法做控制。而不是只针对一个execute。
再次感谢。
分享到:
评论
11 楼 mmwy 2007-05-09  
<s:form action="role" namespace="/privilege" method="post" 
validate="true" theme="simple"> 

<s:submit name="method:createRole"/>

</s:form>
10 楼 highriver 2007-05-09  
自己顶一下
9 楼 highriver 2007-05-09  
问题总是没完没了。郁闷!
现在方法都拆出来了,按表单提交也没有问题了。
但是当我在action中的每个方法加入@validations(.....)时,却出现问题。比如有菜单项代码              
<td height="28" class="cd_2_1" id=dpdivbutton15><a class="cd_1" id="dpdivlink15"
   onclick=changedpdiv(15) href="${ctx }/privilege/role!searchRole.action"  target="right">角色权限设置</a></td>
当我在action中给searchRole方法加上了@validations(....)时,每当点击菜单项“创建角色”时,就会跑到其它页面。我在后台跟踪,会执行到其它的方法里去。当我把@validations去掉就没有问题。怪呀。我当初拆分方法的目的就是想很爽的使用@validations做检验。这是为什么呢?
8 楼 highriver 2007-05-09  
谢谢。janh,十分感谢。正如你所说,改成form没有问题。对s:form还是不太熟悉。比如它的validate属性。看到有些资料设置为true代表客户端校验。如果我使用form的话,是不是会变成后台检验。我对struts2的熟悉过程就是通过这个项目突击。多多指导,一起进步。
7 楼 janh 2007-05-09  
直接用<form action="" ></form>,因为没有定义action map,所以用<s:form >也没有什么意义,而且好像它对!处理不好。
6 楼 highriver 2007-05-09  
我在页面中使用<a href="/privilege/role!createRole.action">aaa</a>是访问到对应的action方法。难道只有第一次请求可以这样吗?那么解决办法是什么?redirect吗?如何实现。谢谢大家,感谢janh给我的帮助。
5 楼 highriver 2007-05-09  
这样折出来是成功的。谢谢janh.
不过拆分出来有一个问题:比如action中有一个createRole方法。页面表单请求如下:
<s:form action="/privilege/role!createRole.action" method="post"
				validate="true" theme="simple">
				
。。。。。。。。。。。。。
			</s:form>

当我在form中指定form的action的属性为上时,总是报404 error.
这是为什么?
4 楼 janh 2007-05-09  
那是你没有仔细看,struts2的官方文档中提到过这种方法,但是好像没有详细说明。
3 楼 highriver 2007-05-09  
引用
用/aaa!bbb.action这样的方式可以,!后面的是方法名。

struts2的文档中好象没有这样的介绍。我现在系统连不上数据库。暂时验证不了。
能否给我一些相关的资料。谢谢。
2 楼 janh 2007-05-09  
用/aaa!bbb.action这样的方式可以,!后面的是方法名。
1 楼 highriver 2007-05-09  
再把问题描述一下。
我尝试使用在action中将一个execute拆成多个方法。然后,在一个请求的url中使用/aaa.action?method=bbb这样的方式访问不成。如果使用配置文件一般按照下面的配置没有问题,比如定义如下:
 
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
    <package name="Struts2_CRUD_DEMO" extends="struts-default" namespace="/Book">
        <action name="List" class="tutorial.action.BookAction" method="list">
            <result>List.jsp</result>
        </action>
        <action name="Edit" class="tutorial.action.BookAction" method="load">
            <result>Edit.jsp</result>
        </action>
        <action name="Store" class="tutorial.action.BookAction" method="store">
            <result type="redirect">List.action</result>
        </action>
        <action name="Remove" class="tutorial.action.BookAction" method="remove">
            <result type="redirect">List.action</result>
        </action>
    </package>
</struts>

可是使用annotation,好象没有对应的annotation指定method。不知该如何解决。

相关推荐

    struts2 使用Annotation 配置的小例子

    总的来说,这个小例子提供了一个很好的起点,帮助初学者了解如何在Struts2中使用Annotation进行配置。通过这个例子,你可以学习到如何定义Action、结果类型以及如何组织项目的目录结构。随着对Struts2框架的深入理解...

    Struts2之Annotation注解配置使用案例struts013

    在Struts2中,Annotation注解的引入为开发者提供了更加灵活和便捷的配置方式,使得无需在XML配置文件中进行繁琐的设置,可以直接在类或方法上通过注解来进行配置。本文将深入探讨Struts2中的Annotation配置,以及...

    struts2利用注解annotation实现文件下载

    通过上述步骤,我们可以看到,在Struts2框架中使用注解来实现文件下载是非常简单且直观的。开发者只需要关注于Action类的定义,而具体的配置则由框架自动完成。这种方式不仅提高了开发效率,也降低了出错的可能性。 ...

    SSH2 annotation 实现struts2.1.6 spring2.5.6 hibernate3.3 全注解开发

    在这个特定的项目中,开发者选择了SSH2的特定版本:Struts2.1.6、Spring2.5.6和Hibernate3.3,并且强调了全注解开发,这意味着在配置文件中尽可能地使用注解来代替XML配置。 首先,让我们详细了解一下这三个框架的...

    Struts2使用Annotation返回Json

    在Struts2中,使用注解(Annotation)可以简化配置,提高开发效率。本篇文章将深入探讨如何在Struts2中通过注解实现返回JSON数据的功能。 首先,让我们理解JSON(JavaScript Object Notation)是一种轻量级的数据...

    struts2 hibernate3 spring2.5 annotation 整合

    Struts2、Hibernate3和Spring2.5是Java Web开发中的三大框架,它们各自负责不同的职责,但可以协同工作以构建高效的企业级应用。这里主要讨论的是如何将这三者结合,并利用注解(Annotation)进行配置,以简化开发...

    struts2annotation json

    标题“struts2annotation json”暗示我们将探讨如何在Struts2中使用注解来处理JSON相关的功能。首先,让我们深入理解Struts2的注解系统。 1. **Struts2注解**: - `@Action`: 这个注解用于标记一个方法为处理HTTP...

    struts2-Annotation

    在给定的“struts2-Annotation”主题中,重点是Struts2框架如何利用注解(Annotation)来增强其功能和简化配置。注解是一种元数据,可以在代码中嵌入,提供有关类、方法或字段的额外信息,而无需编写XML配置文件。 ...

    在嵌入式jetty环境下运行struts2Annotation项目

    接下来,我们将探讨如何在Jetty中运行使用Struts2 Annotation的项目: ### 1. 配置和依赖 确保你的项目已经包含了以下依赖: - Jetty服务器库(例如`jetty-server`, `jetty-webapp`, `jetty-servlet`) - Struts2...

    annotation hibernate struts spring springsecurity API中英文均有

    标题中的"annotation hibernate struts spring springsecurity"涵盖了四个关键的Java开发框架和技术:注解(Annotation)、Hibernate、Struts和Spring Security。这些是构建现代Java企业级应用的基础组件。 **注解...

    struts2 annotation 批量下载

    在Struts2框架中,使用注解(Annotation)可以极大地简化控制器类的配置,提高代码的可读性和维护性。本文将深入探讨如何利用Struts2的注解功能实现批量下载功能,并通过创建临时文件来处理下载请求,同时确保在下载...

    使用struts2的annotation验证

    博文链接:https://flym.iteye.com/blog/174358

    基于Annotation的Struts2.0+Hibernate3.3+Spring2.5图文教程整合开发.doc

    - 配置Hibernate的SessionFactory,可能需要在Spring中使用`LocalSessionFactoryBean`,并指定实体类扫描路径。 这个教程通过实际操作演示了如何在不使用XML配置的情况下,利用注解完成SSH三大框架的集成,提高了...

    基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合开发

    4. 配置Struts2和Spring的整合:使用Struts2的Spring插件,通过`@Autowired`注解将Spring管理的bean注入到Struts2的Action中。 在项目中,可能还需要添加其他的依赖库,如Apache Commons库,SLF4J和Log4j用于日志...

    struts2 interceptor annotation plugin

    而"struts2 interceptor annotation plugin"则是Struts2框架提供的一种使用注解来配置拦截器的方式,这种方式更加简洁、直观,减少了XML配置文件的复杂性。 注解(Annotation)是Java编程语言的一个重要特性,它...

    Maven实现struts2注解

    在这个主题中,我们将探讨如何利用Maven构建工具与Struts2的注解功能相结合,以实现更高效、更模块化的项目开发。 首先,让我们了解Maven。Maven是一个项目管理工具,它通过管理项目的构建、报告和文档,帮助开发者...

    struts annotation Hello World

    通过这个"struts annotation Hello World"的学习,你可以掌握如何在Struts 2中使用注解来简化开发流程,同时也能对MVC架构有一个基本的理解。进一步研究Struts 2的其他注解和特性,将有助于构建更高效、更易于维护的...

Global site tag (gtag.js) - Google Analytics