我有一个java web应用程序,它使用spring webflow作为框架.我在处理普通流xml上的数据时遇到问题.当处理变得更复杂时,我发现很难使用web流的flow xml来实现.我正在考虑使用控制器来执行这些操作.我该怎么做呢.不知道在Web流程中使用控制器.从控制器我可以跳转到流xml继续处理?
我的问题的一个例子是提交表格.这是场景.我有一个Users表和权限表.我还有一个User类代表我在这里使用Hibernate的tablebec.在我的注册页面中,我有用户名,密码和权限(不是用户类的字段)字段.我使用spring webflow绑定将此表单绑定到我的User对象.我的问题是我无法绑定权限字段,因为它在我的User类中不存在.我需要创建一个代表我的表单的bean吗?我需要在Users表上添加用户名和密码,在另一个表Authority中添加权限.我在哪里为User对象和Authority对象进行初始化,或者在哪里设置registerFormBean中的值到我的POJO?我认为这不是一个好方法,否则会使我的流xml变得复杂
我正在寻找一种(希望是直截了当的)方法来为Spring WebFlow 2上构建的应用程序添加CSRF保护.
一种可以很好地迁移到Spring WebFlow 3(发布时)的方法是首选.
Spring WebFlow中的默认日期格式为"yyyy-MM-dd".
如何更改为其他格式?"dd.mm.yyyy"例如.
(来自SpringSource论坛.)
当HttpSession已经过期并且用户在流程中重新提交页面时,他/她被发送回流程的开头.我想要添加到此行为的所有内容都是一条消息,解释了它发生的原因."你没有活动,所以你已经重新启动......"
最简单/最佳实践方法是什么?
我有登录参数
1.userName
2.password
3.companyId
Run Code Online (Sandbox Code Playgroud)
我使用以下代码获得了用户名和密码
Authentication auth = SecurityContextHolder.getContext().getAuthentication();
String name = auth.getName();
String pwd = auth.getCredentials();
String companyId= ???//How can i set and then get company Id here.
Run Code Online (Sandbox Code Playgroud)
我的问题是如何使用SecurityContextHolder获得额外的登录参数(companyId)?
提取类可能不是spring控制器.这就是我使用SecurityContextHolder而不是HttpSession的原因.
谢谢,
我们正在使用以下技术堆栈开发企业应用程序:
开发方法 - 领域驱动/组件驱动应用程序 - 测试驱动开发
现状 我们的域模型具有非常深的域类层次结构,因此我们决定使用webflow来允许子流中的深层导航.我们正在使用"视图模式中的会话",因为有许多屏幕反映了域模型的类层次结构.这非常有效,因为后端管理会话范围的数据为前端.
我们接下来要做什么?
技术堆栈
所以内部的讨论是如何整合Angular的?
我们将以下图表作为参考:http: //vschart.com/compare/angularjs/vs/spring-framework
我们知道两个框架能够做什么,并知道如何使它们工作.我们对其他团队如何整合Angular的经验感兴趣?有人曾经混合Webflow和Angular吗?我们有兴趣看到一些最佳实践,以及团队如何转变为框架或保持两者?
谢谢你的投入,安德鲁
我正在使用Grails Webflow插件.以下是我正在使用的域对象:
class Foo implements Serializable {
String fooProp1,
fooProp2
static constraints = {
fooProp2 nullable: false
}
}
class Bar implements Serializable {
Foo fooObject
static constraints = {
fooObject nullable: false
}
}
Run Code Online (Sandbox Code Playgroud)
在webflow中的某个点上,我需要确保fooObject.fooProp1不为null.如果是,我想抛出一个错误并强制用户为它提供一个值.我尝试使用validate()来执行此操作(在Bar和Foo对象上),但由于fooProp1具有nullable:true属性,因此它会通过验证.有任何想法吗?
我正在使用SpringSource Tool Suite开发一个spring webflow(2.0.7)项目.我正在尝试设置基本流程.
我的someflow.xml看起来像这样:
<flow xmlns="http://www.springframework.org/schema/webflow"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/webflow
http://www.springframework.org/schema/webflow/spring-webflow-2.0.xsd">
<!- view-state declarations -->
</flow>
Run Code Online (Sandbox Code Playgroud)
在STS工具(eclipse上的Spring IDE)中,我在流schemaLocation附近看到一条警告消息:
无法为模式名称空间'http:// www.springframework.org/schema/webflow'的元素'flow'找到Spring NamespaceHandler
然后当tomcat启动时,我收到错误
org.springframework.beans.factory.parsing.BeanDefinitionParsingException:配置问题:无法找到XML架构命名空间的Spring NamespaceHandler [ http://www.springframework.org/schema/webflow] 攻击资源:ServletContext资源[/ WEB-INF /流/ someflow.xml]
我google了一段时间,一些帖子表明问题是spring-webflow jar不在类路径中.在我的例子中,springsource工具创建了模板,所有的jar都到位了.我也手动检查了它们.所以这不是问题
这篇文章http://forum.springsource.org/archive/index.php/t-49098.html中的一条建议是拼接罐子!这不是一个解决方案,但我试图看看它是否修复了它.但不是.
现在被困......其他人是否面临这个问题?
我正试图在弹簧中返回我的主要流程,只需单击一个按钮即可从我的任何子流程返回.
当我使用<end-state>它时,只需转到上一个流程,这也是应用程序中的子流程.
有任何想法吗?
我应该绑定到一个复杂对象的形式,装载这种形式我必须初始化所有的孩子,只有有很多的方法,对象之前包裹了很多孩子,每次new报表和调用一个setter方法,我要对许多表单和其他复杂对象重复此方案
有没有比initializeEmployee方法更好的策略?
例如:
@Entity
public class Employee {
Integer Id;
Contract contract;
Name name;
List<Certificate> list;
// getter and setters
}
@Entity
public class Contract {
String telephoneNum;
String email;
Address address;
// getter and setters
}
@Entity
public class Address {
String streetName;
String streetNum;
String city;
}
public class Name {
String fName;
String mName;
String lName;
// getter and setters
}
// And another class for certificates
public initializeEmployee() {
Employee …Run Code Online (Sandbox Code Playgroud) spring-webflow ×10
java ×4
spring ×4
spring-mvc ×2
angularjs ×1
csrf ×1
grails ×1
hibernate ×1
security ×1