问题标签 [model-driven]

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.

0 投票
2 回答
2731 浏览

struts2 - ModelDriven 和 Prepare 的顺序?

我把println()Action类的每个方法中。

我以为顺序是;准备→执行→getModel。

因为我记得我在书里看过,所以我以前在里面构造bean类并做一些逻辑prepare(),然后在execute(). 而且我认为 getModel 用于将 bean 推送到 valueStack,对吗?

...无论如何,控制台向我展示了这一点。这很奇怪;准备→获取模型→执行。

这对我来说是一个巨大的问题。用英语很难解释原因……但我会努力的!

我曾经创建每个处理相同 bean 的动作类,当然每个动作类中都有相同的代码(变量,以及它们的 getter 和 setter)。

现在我正在尝试创建一个操作来避免这种重复。这个动作类有几个方法(像这样映射在 struts.xml 中;<action name="View_board" method="view">)。

正如我们在控制台中看到的,这view()在动作类的最后被调用,例如execute(). prepare()确实只构建bean,并且view()做真正的工作。但是getModel()在调用 of 之前调用view(),因此没有机会将 bean 放入 ValueStack。

我希望你们能理解我要解释的内容。

总而言之,有每个动作类,如 BoardView、BoardDelete、BoardWrite ......并且它们运行良好!但我讨厌重复的东西,所以我创建了 BoardManager 类。此类具有view()由类(如 BoardView)处理的每个方法(如)。但是这个 view() 是在调用 之后调用的getModel(),所以 bean(return of getModel()) 没有机会被推送到 ValueStack 中。

请帮帮我。教我你在该领域的专业知识。我正在自己开发这一切,这让我感觉很艰难。

谢谢!!

0 投票
1 回答
1565 浏览

struts2 - 我发现 Struts2 的 ModelDriven 有问题

请下载运行它。我认为值得一试,虽然它会有点烦人。

在action类的execute方法中,如果你通过返回bean的方法来设置bean,Modeldriven在JSP中<s:property "someField" />就不能工作(不能工作,所以你必须像这样输入bean实例名; <s:property "myBean.someField" />)。

但是如果你设置了 bean 的字段值,Modeldriven 就可以工作了。

我知道你可能不相信我,并认为我做错了什么。但这不是真的!去尝试一下..

我不知道我刚刚发现了什么。所以我问这个问题。作为我自己的答案,如果我将 bean 推送到 valuestack Modeldriven 将起作用。

我想知道为什么没有关于这个的问题。我认为这是一个严重的问题。

0 投票
3 回答
13601 浏览

struts2 - Struts2 ModelDriven 接口如何工作

我有个疑问。Struts2Modeldriven界面如何工作。在我的应用程序中,我使用了一个表单。我将 setter 和 getter 放置在与表单名称相同的位置。ModelDriven是否可以使用 setter 和 getter放置多个对象。如果我这样放置那么它会如何识别呢?

0 投票
1 回答
3086 浏览

java - 使用 struts2 映射枚举以形成元素

我正在尝试创建一个表单,其中包含一个映射到扩展 java.lang.Enum 的类的单选按钮。

Action 实现了 ModelDriven,并通过 getModel() 使以下对象的新实例可用:

这是其余的相关课程。它们都是由 JAXB 生成的:

我收到此错误:

org.apache.jasper.JasperException:标签“radio”,字段“list”,名称“clientStatus.status”:请求的列表键“clientStatus.status”无法解析为集合/数组/映射/枚举/迭代器类型. 示例:人或人。{name}

关于问题可能是什么的任何想法?

编辑: 我认为问题在于 ClientStatus 为空。由于我只是实例化了一个 new Customer() 它的字段为空。这很糟糕,因为它需要我在程序的两个部分中对重复信息进行编码。我可以在视图中做这样的事情:

或者,在控制器中,我必须显式实例化我的视图需要的 Customer 字段。这也使我编写一个可以处理各种 JAXB 对象的通用操作的希望破灭了,只需实例化给定的 JAXB 类并通过 getModel() 使其可用。

有人对如何从这种不幸的情况中恢复过来有任何想法吗?

编辑 2:将第一个表单修复为我期望的工作。

0 投票
1 回答
1226 浏览

jsp - Struts2 CRUD,如何更新模型:ModelDriven。在 JSP 中总是空白

我无法在我的 JSP 中检索我的模型来更新对象。

在我的 JSP 中,我想要一些简单的东西

但我的文本字段总是空白。

我错过了什么?

0 投票
2 回答
3062 浏览

java - Struts2 在我的 AJAX 调用中返回空 JSON

我正在努力从我的 Struts2 Action 类中获取 JSON 响应,我想我遗漏了一些东西。我在我的项目中有以下设置。

在我的模块级操作定义中,配置如下:

在我的 Struts.xml 我有

在我的行动课上:

JSON请求http://localhost:8080/customer/getCustomer返回我空数组{}在萤火虫中......我能看到。

我也在尝试将输出作为 JQuery 中的数据表输入。因此没有行。

非常感谢任何人的帮助。

0 投票
1 回答
805 浏览

struts2 - Struts2 Bulk Data 使用 ModelDriven 显示

我知道模型驱动过程的基本概念。

我怎么想知道是否可以使用相同的 ModelDriven 接口进程在操作标记的响应页面上显示批量数据?

用例子来解释这一点

请求页面是正常的,有一个受操作控制的参数。

在验证请求页面时,中间进程返回数组列表对象

响应成功页面有一个 Array List of buckets 100

Array List 的每个存储桶都包含一个包含 10 个值的 JavaBean 对象。

问题:通过 ModelDriven 接口进程需要通过循环数组列表存储桶和在响应页面上投射 Java Bean 来显示数据以提取原始数据??

关于 karthik

0 投票
1 回答
641 浏览

struts2 - 有没有办法为 Struts2 中的一个动作类加载多个 ModelDriven 模型?

有没有办法为一个动作类加载多个 ModelDriven 模型或在 struts2 中的一个动作类上切换模型?

0 投票
2 回答
3589 浏览

validation - 在 Struts2 中,我不能使用带有验证的模型驱动

在 struts.xml 中:

我的课:

然后在jsp中:

我期望在输入结果中:

我成功到达了user_form.jsp,但是没有出现actionError

我尝试不使用“implements ModelDriven”并且它可以工作

模型驱动擦除 actionErrors(我想)

我想使用验证和模型驱动¿任何想法?

0 投票
1 回答
887 浏览

struts2 - Struts2 - 实现 ModelDriven - 创建一个访问模型属性的拦截器

我对 Struts2 比较陌生。我已经开始使用 ModelDriven 来减少开发开销。我想编写一个接口来在属性执行操作之前对其进行修改,但我看不到如何访问为模型实现 ModelDriven 的类的属性。

我可以看到像 validate() 这样的东西在实际操作类中是如何工作的。我改变了设计以封装服务背后的逻辑,但仍然想知道这是否可能。

我们通过 ajax/json 做所有事情,所以我发现模型驱动有很大帮助——虽然不确定是否有更好的选择!

编辑 - 代码示例:

尝试用模板中的消息替换消息以在电子邮件正文中使用。

像这样的电子邮件模型

我想要一个拦截器预处理器来替换 email.message。应该看起来像这样,但 action.getMessage/setMessage 不可用。