问题标签 [actioncontext]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
struts2 - struts2中使用Interceptor时无法登录
我有一个小应用学习Struts2 Application
我写了一个管理页面,在里面,我的代码将检查用户是否登录,如果没有,它将重定向到登录页面。
我编写拦截器来检查用户尝试访问但未登录的所有页面,它将将此用户重定向到登录页面。一切正常,但是当我在数据库中输入正确的用户名和密码时,它无法登录,当我删除拦截器时,我可以登录到管理页面
原因可能是拦截器在登录之前和之后检查用户的会话,但也许在某些情况下,我不知道为什么我的应用程序会话为空,尽管我的用户名和密码是真实的,但是当我设置会话时它直到为空。
下面的代码将向您展示我所说的:
登录操作
我的自定义拦截器代码:
我的 struts 配置
当我输入正确的用户名和密码匹配到数据库时,直到重定向到 login.jsp 页面
我对此一无所知
请帮我
非常感谢
struts2 - 表格数据支柱
我试图从主从表单捕获数据返回一个 JSON 对象,如下所示我的表单类似于这个http://www.vitarara.org/cms/struts_2_cookbook/creating_a_theme我遵循了这个指南http://struts.apache.org /2.1.6/docs/tabular-inputs.html我可以捕获主数据,但如何访问详细信息?我此刻得到的结果是
我的表格是:
我怎样才能获得 dreqproductos?
我的课是
和
我的行动是
struts2 - 如何调用从 Struts 2 中的另一个动作重定向的动作的“执行”方法?
我在 struts 2 中从一个动作重定向到另一个动作时遇到问题。
在行动一(称为:StudentZuPruefungHinzufuegen)中,我正在创建操作错误,并希望在行动二(称为:ZeigePruefungsliste)中显示这些错误。
如果我只是使用 struts 中的“redirectAction”,它会在我想显示的地方显示正确的操作错误。问题是框架在显示带有操作错误的结果页之前没有调用我的“执行”方法。尽管我在“执行”方法中填写的表格是空的,并且生成的页面实际上是无用的。
有人能告诉我如何告诉 Struts 在重定向到动作二时调用该方法吗?
我的 struts.xml 看起来像这样:
编辑:我的动作类代码。
问候,马库斯
hibernate - Struts2 插入和更新子表和父表
我用Hibernate和Struts2搭建了一个小网站
我有一个表调用类别
结构如:
ID
类别名称
Parentcatid
...
我的所有文件是:
类别 Pojo
我的行动
和我的表单片段,仅用于下拉框:
更新类别时出现问题,它可以加载类别列表,但选择的是 headerValue 而不是它的父级名称!
web-applications - 会话对象动作上下文struts2
我正在浏览一些类似这个 SO question的链接,发现每个新的操作请求都会创建一个新的操作上下文。
假设如果有对 Action A 的请求,则创建一个新的 ActionContext AC1。我将 ("xxx","yyy") 之类的内容保存到 AC1 中的会话映射中。
然后是同一用户对操作 B 的请求。如果创建了一个新的 ActionContext AC2,它会以某种方式从 AC1 获取会话对象还是为空?
会话对象不是来自同一浏览器的同一用户的多个请求吗?
struts2 - struts2+hibernate中不同用户的区分
struts.xml
这是我的迭代器
对不起我的错误我问错了。
我的应用程序管理员和客户中有两种用户。我想区分它们并根据角色动态重定向到特定的命名空间操作。
目前只有管理员身份验证功能。
我想出了这个解决方案。
但我不知道如何根据角色将请求 url 映射到特定名称规范的操作,无论是对客户的“安全”还是对管理员的“管理员”。否则显示全局异常。
admin 的所有 JSP 都位于 admin 文件夹中,而 customer 则位于 WEF-INF 文件夹中的 customer 文件夹中。
我还指定了一些我仍然需要填写但不知道该怎么做的评论。对于 cheking 角色我知道,但对于重定向不知道该怎么做。
我还没有实现这个。但我是带着这个想法而来的。甚至我认为可能或不可能。如果有更好的解决方案可以告诉我。
java - 启动它但在 s:iterator 标记中不显示
我用
而且我看到回复不是空的,并且在topic.replies
;中有元素
在 JSP 中:
没有标题显示。然后我改变我的代码
在 JSP 中
显示标题的值。
我不知道为什么标题没有以第一种方式显示。
struts2 - Struts2 ActionContext 和 Response 用于链接动作
我有一个关于 struts2 链接操作的非常复杂的问题,提前感谢您耐心阅读我的问题。我会尽力把它描述清楚。
下面是我的struts.xml:
我的逻辑是这样的:访问/myapp/test时,TestAction1会处理请求;在 TestAction1 中,我像这样“包含”动作 x(我的配置中的第二个动作):
重要的是我在包含“x.action”时使用了自定义的 ResponseIml。
包含后,我返回“成功”,因此结果链接到操作 y(我的配置中的第三个操作);
最后,TestAction2继续处理请求,它会去成功的结果,jsp应该被渲染,但我看到的是一个空白页。
jsp文件很简单:index.jsp
我的问题/难题是:
- 在 TestAction1 中,如果我从 ServletActionContext 获得响应,我会在包含前后得到不同的响应;在包含之前是默认响应,但在包含之后我得到了我自定义的 ResponseImpl 的一个实例;我希望得到相同的结果:即:默认响应;
- 在 TestAction2 中,我从 ServletActionContext 获得响应,我得到的是我自定义的 ResponseIml 的实例。这是我最重要的事情,我想我应该在这里得到一个默认的响应实例,即:org.apache.catalina.connector.Response,我在JBoss上运行;
- 我在 TestAction2 中获得了不同的 ActionContext(与在 TestAction1 中获得的 ActionContext 相比)。
这个问题真的让我发疯了,我花了好几天的时间。
任何建议将被认真考虑!
太感谢了!!
我的代码:
测试动作1:
响应实施:
测试动作2:
web.xml
这是我的调试信息。
- 在包括之前:动作上下文是:com.opensymphony.xwork2。ActionContext@c639ce
- 包括之前:响应是:org.apache.catalina.connector.ResponseFacade@8b677f
- 从响应中获取:
<h1>Test!</h1>
- 包括后:动作上下文是:com.opensymphony.xwork2。ActionContext@2445d7
- 包括后:响应为:com.bv.test.ResponseImpl@165547d
- 在 TestAction 2 中:动作上下文是 :com.opensymphony.xwork2。ActionContext@19478c7
- 在 TestAction 2 中:响应是:com.bv.test.ResponseImpl@165547d
所以,在包含之前和之后我有不同的 ActionContext 实例!!
java - struts2 和 jaxb 用于高于 2.0.x 的 struts2 版本
是否有像 struts2-jaxb-plugin 这样的插件适用于高于 2.0.x 版本的 struts2 版本?
较新版本的 struts2 在 com.opensymphony.xwork2.ActionContext 类上不再有 get(Object o)。
如果有更好的方法来使用 struts2 完成 xml 结果,请随时为我指明正确的方向。
否则,我正在考虑编写自己的编组拦截器和 jaxb 结果类型,就像 struts2-jaxb-plugin 中发生的那样。
当前版本:
- 支柱2:2.3.14
- jaxb api:2.2.9
java - 如何在验收测试期间从 Struts 2 获取 ActionContext?
我正在使用 cucumber-jvm 在以 Struts 2 和 Tomcat 作为我的 Servlet 容器的应用程序上编写验收测试(测试行为)。在我的代码中的某个时刻,我需要从 Struts 2 中获取用户,该用户HttpSession
由HttpServletRequest
.
由于我正在进行测试并且没有运行 Tomcat,因此我没有活动会话并且我得到了一个NullPointerException
.
这是我需要调用的代码:
和 getSession 方法:
老实说,我对 Struts 2 了解不多,所以我需要一点帮助。我一直在看这个带有嵌入式 tomcat 示例的 cucumber-jvm,但我很难理解。
我也一直在看这个Struts 2 Junit Tutorial。遗憾的是,它并没有很好地涵盖所有StrutsTestCase
功能,而且它是最简单的用例(综合考虑,这是一个非常无用的教程)。
那么,如何像用户使用应用程序一样运行验收测试呢?
更新:
感谢史蒂文贝尼特斯的回答!
我必须做两件事:
- 按照建议模拟 HttpServletRequest,
- 模拟 HttpSession 以获得我想要的属性。
这是我添加到我的 cucumber-jvm 测试中的代码:
}