bharathi
bharathi

Reputation: 6271

Spring Web flow with JSF evaluation

I am new to Spring Web flow.

This is my code.

main-flow.xml

  <?xml version="1.0" encoding="UTF-8"?>
  <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">
    <var name="hello"    class="org.springframework.webflow.samples.booking.hello"/>
<view-state id="hello">
<transition on="click" to="test"></transition>
</view-state>
<action-state id="test">
<evaluate expression="hello.saytest()">
</evaluate>
<transition on="yes" to="page1" ></transition>
<transition on="no" to="page2"></transition>

</action-state>
<view-state id="page1"></view-state>
<view-state id="page2"></view-state>

  </flow>

Hello.java

        package org.springframework.webflow.samples.booking;

     import java.io.Serializable;

   public class hello implements Serializable {

   String name;

  /**
   * 
   */

@Override
public String toString() {
return "hello [name=" + name + "]";
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

private static final long serialVersionUID = 1L;

public boolean saytest() {

System.out.println(name);
String test = "new";
if (name == test) {
    return true;

} else {
    return false;
}
   }
}

hello.xhtml

       <!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     <ui:composition xmlns="http://www.w3.org/1999/xhtml"
            xmlns:ui="http://java.sun.com/jsf/facelets"
            xmlns:h="http://java.sun.com/jsf/html"
            xmlns:f="http://java.sun.com/jsf/core"
            xmlns:p="http://primefaces.org/ui"
            template="/WEB-INF/layouts/standard.xhtml">
     <ui:define name="notes">
<p>
    Check the calendar widget and the tooltips on the credit card fields.
    The form uses Ajax-based validations to redisplay server-side errors without refreshing the entire page.
    The booking bean backing the form is a flow-scoped object (see   <strong>booking-flow.xml</strong>).        
</p>
</ui:define>
<ui:define name="content">
 <h:form>
<h:outputLabel for="price">Enter the Name:</h:outputLabel>
<h:inputText id="name" value="#{hello.name}">
</h:inputText>
<p:commandButton id="click" action="click" value="click" />
</h:form>
</ui:define>
   </ui:composition>

Here I am trying to get some value from hello.xhtml and try to evaluate it in main-flow.xml.

If the value which i tried is new then it have to navigate to page1 or it have to take it to page2.xhtml.Now I my case even i enter new in inputtext box it take to me to page2 only. Can anyone help me.

Upvotes: 0

Views: 1108

Answers (1)

Doug Breaux
Doug Breaux

Reputation: 5105

Change

if (name == test)

to

if (name.equals(test))

Or, simply,

if (name.equals("new"))

See http://www.javabeginner.com/learn-java/java-string-comparison

Upvotes: 1

Related Questions