diff --git a/spring-webflow-samples/booking-faces/src/main/webapp/WEB-INF/intro.xhtml b/spring-webflow-samples/booking-faces/src/main/webapp/WEB-INF/intro.xhtml
index bceb6686..5a2604f8 100755
--- a/spring-webflow-samples/booking-faces/src/main/webapp/WEB-INF/intro.xhtml
+++ b/spring-webflow-samples/booking-faces/src/main/webapp/WEB-INF/intro.xhtml
@@ -4,7 +4,7 @@
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:sf="http://www.springframework.org/tags/faces"
- template="/template.xhtml">
+ template="layouts/standard.xhtml">
@@ -32,7 +32,7 @@
Spring IDE integration, with support for graphical flow modeling
- Start your hotel booking experience
+ Start your hotel booking experience
diff --git a/spring-webflow-samples/booking-faces/src/main/webapp/WEB-INF/layouts/standard.xhtml b/spring-webflow-samples/booking-faces/src/main/webapp/WEB-INF/layouts/standard.xhtml
index d1870237..0baf0eff 100644
--- a/spring-webflow-samples/booking-faces/src/main/webapp/WEB-INF/layouts/standard.xhtml
+++ b/spring-webflow-samples/booking-faces/src/main/webapp/WEB-INF/layouts/standard.xhtml
@@ -1,7 +1,8 @@
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:c="http://java.sun.com/jstl/core">
Spring Faces: Hotel Booking Sample Application
- Welcome, #{currentUser.name}
+
+ Welcome, ${currentUser.name}
+
diff --git a/spring-webflow-samples/booking-faces/src/main/webapp/WEB-INF/login.xhtml b/spring-webflow-samples/booking-faces/src/main/webapp/WEB-INF/login.xhtml
new file mode 100755
index 00000000..d9707a5b
--- /dev/null
+++ b/spring-webflow-samples/booking-faces/src/main/webapp/WEB-INF/login.xhtml
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+Login
+
+
+
+ Your login attempt was not successful, try again.
+ Reason: #{sessionScope.SPRING_SECURITY_LAST_EXCEPTION.message}
+
+
+
+
+
Valid users:
+
+ - rod/koala
+ - dianne/emu
+ - scott/wombat
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/spring-webflow-samples/booking-faces/src/main/webapp/WEB-INF/logout-success.xhtml b/spring-webflow-samples/booking-faces/src/main/webapp/WEB-INF/logout-success.xhtml
new file mode 100755
index 00000000..51b095af
--- /dev/null
+++ b/spring-webflow-samples/booking-faces/src/main/webapp/WEB-INF/logout-success.xhtml
@@ -0,0 +1,16 @@
+<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
+<%@ taglib prefix="tiles" uri="http://tiles.apache.org/tags-tiles" %>
+
+
+
+
+
+
+
+
Logout
+
You have successfully logged out.
+
+
+
+
+
\ No newline at end of file
diff --git a/spring-webflow-samples/booking-faces/src/main/webapp/WEB-INF/web-application-config.xml b/spring-webflow-samples/booking-faces/src/main/webapp/WEB-INF/web-application-config.xml
index deaabfc1..34984b9e 100755
--- a/spring-webflow-samples/booking-faces/src/main/webapp/WEB-INF/web-application-config.xml
+++ b/spring-webflow-samples/booking-faces/src/main/webapp/WEB-INF/web-application-config.xml
@@ -5,6 +5,7 @@
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:webflow="http://www.springframework.org/schema/webflow-config"
xmlns:faces="http://www.springframework.org/schema/faces-config"
+ xmlns:security="http://www.springframework.org/schema/security"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
@@ -15,7 +16,9 @@
http://www.springframework.org/schema/webflow-config
http://www.springframework.org/schema/webflow-config/spring-webflow-config-2.0.xsd
http://www.springframework.org/schema/faces-config
- http://www.springframework.org/schema/faces-config/spring-faces-config-2.0.xsd">
+ http://www.springframework.org/schema/faces-config/spring-faces-config-2.0.xsd
+ http://www.springframework.org/schema/security
+ http://www.springframework.org/schema/security/spring-security-2.0.xsd">
@@ -35,14 +38,15 @@
-
+
-
+
+
@@ -61,6 +65,9 @@
+
+
+
@@ -82,5 +89,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/spring-webflow-samples/booking-faces/src/main/webapp/WEB-INF/web.xml b/spring-webflow-samples/booking-faces/src/main/webapp/WEB-INF/web.xml
index ecb7a943..26e14fdd 100755
--- a/spring-webflow-samples/booking-faces/src/main/webapp/WEB-INF/web.xml
+++ b/spring-webflow-samples/booking-faces/src/main/webapp/WEB-INF/web.xml
@@ -4,6 +4,13 @@
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
+
+ contextConfigLocation
+
+ /WEB-INF/web-application-config.xml
+
+
+
javax.faces.DEFAULT_SUFFIX
@@ -21,6 +28,20 @@
facelets.REFRESH_PERIOD
1
+
+
+ springSecurityFilterChain
+ org.springframework.web.filter.DelegatingFilterProxy
+
+
+
+ springSecurityFilterChain
+ /*
+
+
+
+ org.springframework.web.context.ContextLoaderListener
+
diff --git a/spring-webflow/src/main/java/org/springframework/webflow/expression/el/ImplicitFlowVariableELResolver.java b/spring-webflow/src/main/java/org/springframework/webflow/expression/el/ImplicitFlowVariableELResolver.java
index 52d64381..4c57653f 100644
--- a/spring-webflow/src/main/java/org/springframework/webflow/expression/el/ImplicitFlowVariableELResolver.java
+++ b/spring-webflow/src/main/java/org/springframework/webflow/expression/el/ImplicitFlowVariableELResolver.java
@@ -40,9 +40,6 @@ public class ImplicitFlowVariableELResolver extends ELResolver {
return null;
}
RequestContext requestContext = RequestContextHolder.getRequestContext();
- if (requestContext == null) {
- return null;
- }
if (ImplicitVariables.matches(property)) {
context.setPropertyResolved(true);
return ImplicitVariables.value(context, requestContext, property);
diff --git a/spring-webflow/src/main/java/org/springframework/webflow/expression/el/SpringBeanWebFlowELResolver.java b/spring-webflow/src/main/java/org/springframework/webflow/expression/el/SpringBeanWebFlowELResolver.java
index 741d10ef..b3f3310e 100644
--- a/spring-webflow/src/main/java/org/springframework/webflow/expression/el/SpringBeanWebFlowELResolver.java
+++ b/spring-webflow/src/main/java/org/springframework/webflow/expression/el/SpringBeanWebFlowELResolver.java
@@ -18,7 +18,7 @@ public class SpringBeanWebFlowELResolver extends SpringBeanELResolver {
protected BeanFactory getBeanFactory(ELContext elContext) {
RequestContext rc = RequestContextHolder.getRequestContext();
- if (rc.getActiveFlow().getBeanFactory() != null) {
+ if (rc != null && rc.getActiveFlow().getBeanFactory() != null) {
return rc.getActiveFlow().getBeanFactory();
} else {
return EMPTY_BEAN_FACTORY;