- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我最近在使用 Spring Webflow 时遇到了一个奇怪的错误,我似乎找不到问题所在,而且似乎没有人遇到过这种情况。
当开始我的流程时,我从数据库加载一个对象,然后用户将在流程中修改该对象。加载对象时,每个属性都正确绑定(bind):在调试入口函数时,对象已设置所有属性。然而,在那之后,当 View 被渲染时,对象的“id”和“version”字段突然变为空,所以 <form:hidden path="id" />
或 <form:hidden path="version" />
不显示任何内容。
我不知道从哪里开始,我不想把无用的代码放在这里,所以如果你需要我的代码的一部分,尽管问。
附加信息:
我还尝试使用 <form:input path="id" />
强制修改这些字段并尝试手动将一些值放入其中并提交表单,但没有成功。
重要更新似乎每个“复杂”对象都会出现这个问题,假设 MyForm 中有另一个类,称为 B。如果 B 只包含基本类型,例如 Integer 和 String,则可以使用它们的 id 和 version 正确地存储和检索它们字段,如果 B 中有其他类型的对象字段(C 类),则它们的 id 和版本消失。
感兴趣的流配置摘录。请注意,除 id 和 version 字段外,表单中的所有数据都可以正确查看。
流程:
<input name="idObj" />
<decision-state id="createOrEdit">
<if test="idObj== null" then="newObj" else="modObj" />
</decision-state>
...
<action-state id="modObj">
<evaluate expression="Search.findOne(idObj)" result="flowScope.form"/>
<transition to="object" />
</action-state>
<view-state id="object" view="flow.object" model="form">
<on-entry>
<evaluate expression="handler.prepare(flowScope.form)"/>
</on-entry>
<!-- transitions omitted -->
</view-state>
查看:
<form:form modelAttribute="form" cssClass="form form-horizontal">
<form:input path="id" />
<form:input path="version" />
<!-- other fields -->
<input type="hidden" name="_flowExecutionKey" value="${flowExecutionKey}"/>
</form:form>
处理程序:
public void prepare(MyForm form) {
int codType = form.getFormType().getId();
FormType type = service.findOne(codType);
form.setFormType(type); // This is here for JPA to save correctly the instance
RequestContext requestContext = RequestContextHolder.getRequestContext();
requestContext.getViewScope().put("typeList", typeService.findAll());
}
最佳答案
好吧,在我的头在 table 上重重敲了三天之后,我发现了以下内容:
为了让 Webflow 能够处理任何类型的自定义表单,它必须实现 Serializable
接口(interface),而我的表单对象实际上做到了。 但是它继承id
和version
字段的对象没有,所以所有对象相关的属性被正确存储,但没有被序列化的继承的。
所以,简而言之,为了让它工作,我只是将 implements Serializable
放在基础数据库对象类中:public class BaseDTO implements Serializable
。
关于java - Spring Webflow,ID 和版本被剥离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24143460/
首先,我不知道如何为spring webflow配置restful url请求, 例如,如何在输入地址时调用我的 webflow: http://localhost/app/order/edit/10
我试图在 Spring 返回到我的主要流程,只需单击一个按钮即可从我的任何子流程中返回。 当我使用 它只是转到上一个流程,这也是应用程序中的一个子流程。 有任何想法吗? 最佳答案 您只需要在调用流中的
我正在使用 spring webflow,但我需要在使用转换 ==> 评估表达式访问的方法中访问我的 HttpSession。 (所以在包含我的流程的 xml 文件中) 到目前为止,我还没有找到一种方
(来自 SpringSource forum。) 当HttpSession已过期并且用户重新提交流程中的页面,他/她将被送回流程的开头。我想添加到此行为的只是一条消息,解释它发生的原因。 “你没有事件
我正在使用 spring webflow 1.0。我正在上传一个 csv 文件,对其进行解析并在继续之前显示结果。用户可以选择下载包含未通过验证的记录的 csv 文件。当我单击 JSP 中的链接下载此
获取 Spring Webflow 生成的 FLOW ID 完整列表的最佳方法是什么? 这是我的配置: [更新 1] 我应该澄清一下,我想在 Java 代码中执行此操作,而不是通
我有以下情况。我有一个按以下方式配置的 CommonsMultipartResolver bean。 我在 Spring Web Flow View 状态 jsp 中有一些文件上传字段。 如果文件
给予 ... 在jsp View 中我可以通过以下方式成功获取person ${person} 但是当我放入 requestScope 而不是 viewScope ${person}
我的流程中有一些输入,即 我想在最终状态中重定向到取决于此输入的位置。我正在尝试以下操作: 这是行不通的(webflow 不会用它的值替换 ${someInput} (它将它视为标准字符串。您知道
我有一个使用 Webflow 1.0 和 Spring 2.0 构建的项目。我们想升级到 Spring 3,但这需要 Webflow 2.X。 我已经更新了项目中的所有 Spring 和 Webflo
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
首先,我使用 spring webflow 和一些 spring javascript 来简化 ajax 调用。 截至目前,我让 ajax 调用 webflow 以显示适当的片段。 所以我试图使用 S
我正在研究 spring webflows。我的应用程序中有两个 webflow,一个用于添加人员详细信息,另一个用于修改人员详细信息。两个流程都运行良好。现在我想将参数传递给我的修改流程并访问它,以
希望在使用 grails webflow 时使 URL SEO 友好。它对 grails 使用的约定非常有限制,并且很难绕过它的构建方式。 例如,我在名为 FooController 的 Contro
我有两个 Controller ,每个 Controller 都有一个流程。在我的菜单中,有一个指向流程的链接。如果我在流#1中并单击流#2的链接,Grails将向我展示流#1的 View 。 我发现
Grails菜鸟在这里... 如何获取 Grails webflow 状态中的状态名称?我正在使用 Grails WebFlow 和 jQueryMobile 对移动应用程序进行原型(prototyp
我正在尝试使用Ajax请求过渡到WebFlow的下一个状态。但是它保持相同的状态,并返回GSP作为对该状态的响应,而我期望下一个状态的GSP。 以下是WebFlow代码: def gettingSta
我错过了一些东西...... 我有一个 Grails 网络流程,如下所示:- def childFlow = { start { action {
当我提交表单时,我想发送简单的 boolean 值。我不想在 View 状态下创建特殊模型。 所以我的问题是,我可以在没有模型的情况下传递值吗,因为它是使用 spring webflow 的简单单个值
我在一个应用程序中使用 Webflow 2.3.2,并且用户可以在绑定(bind)模型对象的列表中添加/删除一个步骤(他们只是在修改后返回到当前步骤)。例如我的对象可能看起来像这样: public c
我是一名优秀的程序员,十分优秀!