2013-03-07 25 views
7

Tôi đã khác nhau view-state trong số flow.xml. Tất cả các tiểu bang đều có cùng quan điểm. Bây giờ tôi muốn thiết lập một biến bao gồm chỉ một String und gọi nó trong view-file để tùy chỉnh nội dung.
Dưới đây là tác phẩm của tôi:
flow.xml: cho ví dụ hai của chế độ xem trạng thái củaBiến đơn giản trong Lưu lượng trên web

<view-state id="rcpm" view="rc/rcmembers.xhtml"> 
    <on-entry> 
     <evaluate expression="RCHtmlCache.getCommunityList('rcpm')" 
      result="flowScope.members" /> 
    </on-entry> 
</view-state> 

<view-state id="rcarch" view="rc/rcmembers.xhtml"> 
    <on-entry> 
     <evaluate expression="RCHtmlCache.getCommunityList('rcarch')" 
      result="flowScope.members" /> 
    </on-entry> 
</view-state> 

Trong tập tin này tôi cần một biến với giá trị của ID chế độ xem trạng thái, ví dụ như "rcarch".

rcmembers.xhtmlchỉ là một phần của mã nơi mà tôi muốn gọi biến

<p:panel id="panel" header="Memberslist of **Here comes the value of the variable"> 

Hy vọng bạn hiểu vấn đề của tôi ...

Trả lời

7

Bạn có hai lựa chọn:

Trước tiên, bạn có thể xác định nó ở cấp độ nét dòng chảy và vạch trần nó để xem trực tiếp:

<on-entry> 
    <set name="flowScope.myView" value="flowRequestContext.currentState.id"/> 
</on-entry> 

Hoặc bạn có thể vượt qua bối cảnh dòng chảy tới bộ điều khiển và sau đó phơi bày nó ở đó:

<evaluate expression="RCHtmlCache.getCommunityList(flowRequestContext)" result="flowScope.members"/> 

Trên bộ điều khiển:

public String getCommunityList(RequestContext context) { 
    context.getFlowScope().put("myView", context.getCurrentState().getId()); 
    ... 
} 

Hy vọng rằng sẽ giúp

+0

NHỮNG THANKS LỚN! Lựa chọn đầu tiên của bạn hoạt động hoàn hảo! Cảm ơn rất nhiều! Tôi không biết lệnh "flowRequestContext.currentState.id". Cuối cùng :) Cảm ơn một lần nữa! Giúp tôi rất nhiều! –

+1

Bạn được chào đón :-) Chỉ cần thực hiện một bài đăng về giao tiếp trong Luồng Web Mùa xuân 2. Điều này có thể hữu ích cho trường hợp này và những người khác có liên quan: [blog] (http://xpadro.blogspot.com.es/2013/04/ truyền thông-trong-mùa xuân-webflow-2.html) – xpadro

2

Tại sao không tạo một subflow cho điều này trạng thái xem?

Bằng cách này, bạn có thể có đầu vào cho biến và gọi nó từ bất kỳ đâu. Không cần phải có nhiều trạng thái xem giống hệt nhau.

+0

Tôi có một kịch bản trong đó, tôi cần phải nhảy từ một dòng chảy để subflow khác tới đi lui, tôi đang làm mà sử dụng '' . Câu hỏi của tôi là liệu các biến được xác định bằng cách sử dụng '' của luồng cụ thể đó có được khởi tạo mọi lúc mà luồng được gọi hay chỉ một lần? –

+0

nếu biến là trong dòng phụ, mỗi khi được gọi – rptmat57

4

Một số người dùng đã hỏi tôi sau câu hỏi này, cách đặt biến đơn giản với giá trị Chuỗi. Vì vậy, câu trả lời của xpadro helpds ME rất nhiều, nhưng một số người dùng nhấp vào câu hỏi này để biết làm thế nào để thiết lập một biến đơn giản với một giá trị chuỗi. Vì vậy, tôi muốn đăng ở đây câu trả lời cũng cho rằng:
Sử dụng mã bởi xpadro và chỉ cần thay thế các giá trị với chuỗi bạn muốn bao quanh với ':

<set name="viewScope.variable" value="'String you want'" /> 

Giống như xpadro nói, set nên ở trong số on-entry ...
Và để biết bạn cần sử dụng Scope, hãy xem http://static.springsource.org/spring-webflow/docs/2.0.x/reference/html/ch03s05.html.

Hope tôi có thể giúp đỡ người khác với điều đó :)

Các vấn đề liên quan