首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Struts2 / Struts1操作调用

Struts2 / Struts1操作调用
EN

Stack Overflow用户
提问于 2013-04-11 15:41:06
回答 1查看 2.1K关注 0票数 2

我正在开发一个使用Struts2和Struts1的应用程序。现在,我想为不同的操作实现身份验证。我想使用interceptor来检查某个action属于哪个namespace。我用Struts2操作包装了所有的Struts1操作。所以所有的strut1-action都通过拦截器运行。

代码语言:javascript
复制
<action name="contactsList" class="com.opensymphony.xwork2.ActionSupport">
    <result name="success">contactsList.do</result>
</action>

问题是,如果用户在浏览器中输入struts1-action,拦截器将不会被调用。

我的问题是:来自浏览器的操作调用和通过Struts配置调用的操作调用之间有区别吗?如果可能,是否可以禁止浏览器中的Struts1操作,但允许在struts中执行?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-11 19:30:53

你想错了方向。在Struts2中有一个Struts1 plugin,它实际上包装了Struts1操作。因此,代码将如下所示

代码语言:javascript
复制
<action name="contactsList" class="org.apache.struts2.s1.Struts1Action">
  <param name="className">com.mycompany.myapp.ContactsListAction</param>
  <result>contactsList.jsp</result>
</action>

对于您的问题,Struts2返回重定向或分派到servlet的结果,即使您的操作什么也不做。你可以用浏览器做任何事情,但是Struts会接受请求,直到你把它映射到url,它负责对浏览器请求做出反应。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15943191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档