0

zk + jsp + spring-web-flow

asked 2009-01-28 09:14:49 +0800

lendle gravatar image lendle
213 3

Hello, I've tried zk + jsp and zk + spring web flow separately. Both works well. However, I failed to get zk + jsp + spring-web-flow work.
I configured everything exactly as http://zk1.org/smalltalks/zkspringwf/ mentioned
In addition, main.xml is modified to


<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 id="enterSearchCriteria" view="/WEB-INF/flow-view/enterSearchCriteria.jsp">
        <on-render>
            <evaluate expression="bookingService.findBookings(currentUser.name)" result="viewScope.bookings" />
        </on-render>
        <transition on="search" to="reviewHotels">
            <evaluate expression="searchCriteria.resetPage()" />
        </transition>
        <transition on="cancelBooking">
            <evaluate expression="bookingService.cancelBooking(componentScope.booking)" />
            <render fragments="bookingsFragment" />
        </transition>
    </view-state>

    <view-state id="reviewHotels">
        <on-render>
            <evaluate expression="bookingService.findHotels(searchCriteria)" result="viewScope.hotels" />
        </on-render>
        <transition on="sort">
            <set name="searchCriteria.sortBy" value="requestParameters.sortBy" />
            <render fragments="searchResultsFragment" />
        </transition>
        <transition on="previous">
            <evaluate expression="searchCriteria.previousPage()" />
            <render fragments="searchResultsFragment" />
        </transition>
        <transition on="next">
            <evaluate expression="searchCriteria.nextPage()" />
            <render fragments="searchResultsFragment" />
        </transition>
        <transition on="select" to="reviewHotel">
            <set name="flowScope.hotel" value="self.attributes.hotel" />
        </transition>
        <transition on="changeSearch" to="changeSearchCriteria" />
    </view-state>

    <view-state id="reviewHotel">
        <transition on="book" to="bookHotel" />
        <transition on="cancel" to="enterSearchCriteria" />
    </view-state>

    <subflow-state id="bookHotel" subflow="booking">
        <input name="hotelId" value="hotel.id" />
        <transition on="bookingConfirmed" to="finish" />
        <transition on="bookingCancelled" to="enterSearchCriteria" />
    </subflow-state>

    <view-state id="changeSearchCriteria" view="enterSearchCriteria" popup="true">
        <on-entry>
            <render fragments="hotelSearchFragment" />
        </on-entry>
        <transition on="search" to="reviewHotels">
            <evaluate expression="searchCriteria.resetPage()"/>
        </transition>
    </view-state>

    <end-state id="finish" />

</flow>


and webmvc-config.xml is also modified

<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
    <!-- Maps request URIs to controllers -->
    <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="mappings">
            <value>
                /main=flowController
            </value>
        </property>
        <property name="defaultHandler">
            <!-- Selects view names to render based on the request URI: e.g. /main selects "main" -->
            <bean class="org.springframework.web.servlet.mvc.UrlFilenameViewController" />
        </property>
    </bean>

    <!-- Maps logical view names to real page URL (e.g. 'search' to '/WEB-INF/search.zul' -->
    <bean id="viewResolver" class="org.zkoss.spring.web.servlet.view.ZkResourceViewResolver">
        <property name="prefix" value="/WEB-INF/flow-view/"/>
        <property name="suffix" value=".jsp"/>
    </bean>
</beans>

However, this does not work, it appears that zk always try to append .zul as suffix,
thus, instead of /WEB-INF/flow-view/enterSearchCriteria.jsp,
the controller always try to find /WEB-INF/flow-view/enterSearchCriteria.jsp.zul

Is there solution to this?

thanks!

delete flag offensive retag edit

2 Replies

Sort by ยป oldest newest

answered 2009-01-29 14:26:11 +0800

lendle gravatar image lendle
213 3

I'm sorry, but is there any chance to solve this problem?
thanks!

link publish delete flag offensive edit

answered 2009-01-29 16:02:40 +0800

henrichen gravatar image henrichen
3869 2
ZK Team

lendle,

Shall be something related to this. However, I will need some time to figure this out.

 <!-- Maps logical view names to real page URL (e.g. 'search' to '/WEB-INF/search.zul' -->
    <bean id="viewResolver" class="org.zkoss.spring.web.servlet.view.ZkResourceViewResolver">
        <property name="prefix" value="/WEB-INF/flow-view/"/>
        <property name="suffix" value=".jsp"/>
    </bean>

link publish delete flag offensive edit
Your reply
Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!

[hide preview]

Question tools

Follow

RSS

Stats

Asked: 2009-01-28 09:14:49 +0800

Seen: 376 times

Last updated: Jan 29 '09

Support Options
  • Email Support
  • Training
  • Consulting
  • Outsourcing
Learn More