xiaoliouc
2012-09-07 11:16
浏览 173
已采纳

struts-plugin插件包的问题

用ssh框架也有将近1个月了,现在有一些疑问,希望高手帮我解决一下。主要是struts-plugin插件的问题。

下载struts2.3.4.1完整包,里面有大量的插件包,这些包我也或多或少的使用过,但当初都是分开使用的,没使用struts2.比如sitemesh,json等。但我现在的问题是,如果我使用struts2-json-plugin的时候,是不是就不需要json包了。我看网上很多的做法,也有引入了的,但一些人的做法,就没有引入。我现在就迷惑了。
还有版本问题,是不是struts2.3.4就必须用struts2.3.4-plugin版本匹配的插件。
最后就是一个问题,我以前编写struts2代码都是对所有的url进行拦截,请求action也没有后缀,比如showNews,不是showNews.action。现在问题来了,当我使用fckeditor的时候,单独使用都没什么问题,但文件上传就出现权限不够。原因我知道。我用网上他们说的方法重新写一个filter来拦截这个请求,但还是没解决。如果把url拦截改成*.action也不行,因为我的action全部没后缀。

希望能得到解答一下。

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • jinnianshilongnian 2012-09-07 11:51
    已采纳

    1、struts2配置加载顺序
    1.1、struts-core里的 struts-default.xml-------------->提供默认配置 比如默认的Result、more的拦截器等
    1.2、struts plugin里的 struts-plugin.xml ------------->提供插件需要的配置,比如spring插件 会修改struts.objectFactory 为spring(org.apache.struts2.spring.StrutsSpringObjectFactory)
    1.3、加载classpath中的我们自定义的struts.xml

    struts plugin 提供给我们扩展struts2的功能,比如使用spring容器管理struts2组件(默认struts2也是一个IoC容器)、提供json插件 方便序列化数据为json字符串等。

    比如你使用spring这个插件,这个插件是依赖spring的,因此就需要spring的jar包; 相当于你间接依赖spring包;

    比如你使用json这个插件,这个插件是依赖json-lib等jar包,因此就需要json-lib等jar包; 相当于你间接依赖json-lib等jar包;

    已采纳该答案
    打赏 评论
  • surelei 2012-09-07 11:22

    1.json包需要的
    2.建议使用maven构建项目,自动管理包的依赖关系。
    3.为什么不把所有action加上后缀呢?

    打赏 评论
  • iteye_5246 2012-09-07 11:37

    import net.sf.json.JSONObject;
    一般在早期版本如果希望返回json,使用的jar命名空间是上面那个
    但在使用struts2-json-plugin 导入命名控件不一样了
    import com.googlecode.jsonplugin.annotations.JSON;
    2个包都能方便产生json格式是字符串
    如果使用了 注解形式的
    也就是action中
    @JSON(name="newName")
    public String getName() {}那么需要struts2-json-plugin
    如果有方法就是早期版本的json,
    例如:
    public String demo()
    {
    //response.write(json);
    return null;//
    }
    这2中方式都能实现json,看个人爱好,并不能说使用了用struts2-json-plugin
    就不需要第三方的json包了
    这个看个人编码习惯,比如:团队中返回json的方法,有些老程序员,就直接用老版本的,或者用新版本的,2中都能实现返回json的action,只不过看个人编码习惯而已。
    对于楼上action不加后缀,貌似struts常量配置里面可以配置拦截什么后缀的请求。

    打赏 评论
  • iteye_5246 2012-09-07 11:39

    这个就相当于struts2,spring。hibernate,都提供了2中配置方式
    1.注解,2.xml形式,2中都能配置,但如果需要注解就需要导入额外的包,但可以2个混着用,既有配置文件,又有注解。。
    希望能你能明白

    打赏 评论

相关推荐 更多相似问题