webflow
cas的webflow
例子
success.jsp
<body> Welcome ${loginBean.userName}!! </body>
login.jsp
<form method="post" action="${flowExecutionUrl}"> <input type="hidden" name="_eventId" value="performLogin"> <input type="hidden" name="_flowExecutionKey" value="${flowExecutionKey}" /> <input type="text" name="userName" maxlength="40"> <input type="password" name="password" maxlength="40"> <input type="submit" value="Login" /> </form>
web.xml
<servlet> <servlet-name>springFlowApplication <servlet-class>org.springframework.web.servlet.DispatcherServlet <init-param> <param-name>contextConfigLocation <param-value>classpath://spring-config.xml </init-param> <load-on-startup>1 </servlet> <servlet-mapping> <servlet-name>springFlowApplication <url-pattern>/ </servlet-mapping>
spirng-config.xml
<context:component-scan base-package="com.jcg.examples" /> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/jsp/" /> <property name="suffix" value=".jsp" /> </bean> <import resource="flow-definition.xml"/>
flow-definition.xml
<bean class="org.springframework.webflow.mvc.servlet.FlowHandlerMapping"> <property name="flowRegistry" ref="bookSearchFlowRegistry" /> </bean> <bean class="org.springframework.webflow.mvc.servlet.FlowHandlerAdapter"> <property name="flowExecutor" ref="bookSearchFlowExecutor" /> </bean> <flow:flow-executor id="bookSearchFlowExecutor" flow-registry="bookSearchFlowRegistry" /> <flow:flow-registry id="bookSearchFlowRegistry"> <flow:flow-location id="bookSearchFlow" path="/flows/book-search-flow.xml" /> </flow:flow-registry>
book-search-flow.xml
<var name="loginBean" class="com.jcg.examples.bean.LoginBean" /> <view-state id="displayLoginView" view="jsp/login.jsp" model="loginBean"> <transition on="performLogin" to="performLoginAction" /> </view-state> <action-state id="performLoginAction"> <evaluate expression="loginService.validateUser(loginBean)" /> <transition on="true" to="displaySuccess" /> <transition on="false" to="displayError" /> </action-state> <view-state id="displaySuccess" view="jsp/success.jsp" model="loginBean"/> <view-state id="displayError" view="jsp/failure.jsp" />
- LoginService.java
@Service public class LoginService { public String validateUser(LoginBean loginBean) { String userName = loginBean.getUserName(); String password = loginBean.getPassword(); return Boolean.toString(userName.equals("Chandan") && password.equals("TestPassword"); } }
- LoginBean
public class LoginBean implements Serializable { private static final long serialVersionUID = 1L; private String userName; private String password; //........ommited