问题标签 [valuestack]
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.
java - 如何将 bean 对象放入 sessionMap,然后使用 Struts 2 属性标记在 jsp 页面上检索其属性
在登录Action
时,我正在检查用户身份验证,如果验证通过,我将用户 bean 放入sessionMap
:
现在在登陆 jsp 上,尝试检索会话项时:
显然,这将返回一个Object
类型,因为我是以这种方式存储它的,所以我怎样才能将 caste 这个类型输入到UserBean
类中。
我期待在 Google 上得到解决方案,但由于这似乎是一个基本的实现,所以无处可寻。所以请让我知道是否有任何其他方法可以使用 Struts2 实现此功能。
hibernate - 使用 Struts2 操作的休眠事务上下文
我有一个场景,Struts2 操作从后端获取模型对象并将其放入 OGNL 堆栈,并使用该数据更新前端视图。
然后我更改视图中与模型对象对应的值并更新。getSession().update(model)
然后使用 Hibernate 的方法 保存该值 。
问题:当模型对象被读入 OGNL 堆栈时,该事务上下文关闭并且模型对象被分离。为什么允许我使用 保存更改getSession().update(model)
?我认为getSession().merge(model)
应该使用。
请帮助我理解歧义。
java - 在struts2中重定向操作后填充列表
我有一个在成功登录时index.jsp
重定向到的。otl_homepage.jsp
当用户登录时,我需要在otl_homepage.jsp
. 在我的struts.xml
中,如果我type="chain"
输入或根本没有输入,则列表将被获取。但如果我使用type="redirectAction"
,列表将返回 null。我如何获得这份清单?该列表在我的 java 操作类中维护。
请找到struts.xml
这里和java类
struts.xml:
Java类:
java - 如何在 Struts 2 的单个视图中使用多个表单/动作
我有一个搜索框,它显示在每一页上。搜索框的 JSP 代码通过图块插入到每个页面中。
搜索框有一个表单和一个动作类SearchAction
,需要为下拉框预加载一些属性。该类SearchAction
有一个input()
方法,该方法执行此初始化。
有些页面在主区域也有自己的表单。也有自己的动作课。他们还有一种input()
方法可以进行一些预加载。
- 是否可以在同一个视图中使用两个操作?
- 每个表单如何访问它自己的操作属性。
- 在呈现 JSP 之前,我怎么能设法让两个动作类的输入法都被调用呢?
更新:
我正在添加一个精简的示例,因为可能不清楚我要做什么。这是一个注册页面register.jsp
,带有RegisterAction
. 该页面还包含搜索表单。(顺便说一句:我在动作类中省略了 getter/setter 和其他东西以保持简短):
register.jsp
:
struts.xml
:
SearchAction.java
:
RegisterAction.java
:
假设我调用了 action inputRegister.action
。然后RegisterAction.input()
被调用。属性已设置。结果SUCCESS
导致register.jsp
被渲染。
但是我的搜索表单呢?如何访问搜索操作及其模型。当然,这些都不是ValueStack
。而且我也没有看到调用任何方法SearchAction
来初始化它的模型的方法。我故意选择age
参加这两个动作课程。在呈现的页面中,您可以看到搜索表单也访问RegisterAction-*.properties
(因为它位于 顶部ValueStack
)。但它需要访问SearchAction
. 它必须显示 20 而不是 10。
我显然做错了。但即使经过大量的谷歌搜索,我仍然没有找到正确的方法。
java - struts2 值栈实现
值堆栈在 Struts2 内部是如何工作的,或者当创建值堆栈上的对象时,是在拦截器执行之前还是在拦截器执行之后?当对象被压入值堆栈时,拦截器如何调用 getter 和 setter?
jsp - 在 Struts 2 中使用 OGNL 访问变量有哪些不同的方法
我现在在一个使用 OGNL 的 Struts2 项目中工作。我看到了三种使用 OGNL 在 JSP 中访问数据的不同方法。
这些将做什么?还有其他方法可以从 OGNL 访问数据吗?
jsp - How to Iterate through object property inside a bean in my jsp
I have a list products with these attributes :
- Identifier
- Color
- Size
- Supplier
Supplier attribute is an object that has these attributes :
- Name
- Phone
For each product in my list, i'd like to display the identifier & the supplier name. How can i do this with struts / jstl ?
Here is what i'm trying with no success :
java - 标签'select',字段'list',名称'uuid':请求的列表键'deptList'无法解析为集合/数组/映射/枚举/迭代器类型
我有一个struts2问题,它只在出现验证错误时发生(当我第一次加载我的页面时不会发生,如果没有发生验证错误也不会发生)如果我删除选择标签,它工作正常,并且在我提交表单后显示验证错误消息,但我需要这些选择,并且它们具有来自数据库的动态信息,因此每次显示我的表单时都需要预加载它们。我试图将deptList
androleList
放入 valuestack 或将它们放入会话中,同样的事情发生了。
这是动作类代码的一部分:
这是 JSP 页面:
这是来自 struts 报告的错误:
标签“选择”,字段“列表”,名称“empModel.deptModel.uuid”:请求的列表键“deptList”无法解析为集合/数组/映射/枚举/迭代器类型。示例:人或人。{name}
这是我的验证 xml:
java - 如何从 ValueStack 中删除操作?
我正在尝试使我的动作类单例。重点是让动作类成为 MVC 模式中的真正控制器。特别是在实现 REST 控制器时,控制器的范围可以扩展到应用程序的生命周期。与 Spring 框架一样,控制器默认设置为默认作用域,Spring 中的默认作用域是单例。
Struts 2 也有一个默认作用域,它也是单例的。我想将我的操作类放到这个范围内,并将它们从值堆栈中删除。
如何修改 Struts 2 框架以使我的操作像 Spring 中的控制器?我知道我可以将操作类的管理委托给 Spring,但我不能使用默认范围,并且 Struts 2 容器仍在继续运行。我无法从框架中删除它,因为它不可插入。
因此,在 Spring 和 Struts2 容器中四处走动,我无法将我的动作类设为单例,因为 Struts 2 实例化并将它们放入ValueStack
.
这是我的问题:
如果我选择 Struts 2 和 Spring 之间的容器将我的动作类置于默认范围内,我怎么能告诉 Struts 2 框架不要将它们置于ValueStack
?
struts2 - 无法使用 html 标签预填充表单
我想在 jsp 中显示一个预填充的表单。
测试动作.java
当我使用 html 标签时,它没有这样做,
测试.jsp
相反,当我使用 struts2 标签时,它工作正常。
这可以使用非 struts2 标签来实现吗?