myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rene O (JIRA)" <>
Subject [jira] [Commented] (MYFACES-3881) CLIENT_WINDOW_MODE generates new windowid even if one exists
Date Mon, 14 Apr 2014 09:31:16 GMT


Rene O commented on MYFACES-3881:

I have found a workaround for my current usecase:
My idea is similar to client mode (javax.faces.CLIENT_WINDOW_MODE -> client), but doesn't
use requestparam 'mfRid'.

- using of deltaspikes @WindowScoped for my beans (@ViewScoped doesn't work here)
- using of special viewAction


	   	<f:viewAction action="#{initCtr.initApplication()}"/>
	public void initApplication(){
		FacesContext ctx = FacesContext.getCurrentInstance();
		ExternalContext exCtx = ctx.getExternalContext();

		String windowid = exCtx.getClientWindow().getId();
		System.out.println("windowid: "+windowid);

		//get current requestparams
		Map<String,String> reqparams = exCtx.getRequestParameterMap();

		//only redirect if no jfwid exists yet or an old unknown jfwid is used within the browser
		if(!reqparams.containsKey("jfwid") || !windowid.equals(reqparams.get("jfwid"))){
			try {
				StringBuilder sb = new StringBuilder();

				//append all requestparams
				for (Map.Entry<String,String> entry : reqparams.entrySet()) {

				//append jfwid to be able to decide if a new 'windowsession' is needed or not

				//redirect to same page with new added jfwid param
			} catch (IOException e) {
				// TODO Auto-generated catch block
A new showcase ( is attached: http://localhost:8080/jsftest22/mypage.jsf

> CLIENT_WINDOW_MODE generates new windowid even if one exists
> ------------------------------------------------------------
>                 Key: MYFACES-3881
>                 URL:
>             Project: MyFaces Core
>          Issue Type: Bug
>    Affects Versions: 2.2.2
>         Environment: java 7, tomcat 7.0.50
>            Reporter: Rene O
>         Attachments:,
> If you use @ViewScoped beans and activate CLIENT_WINDOW_MODE (url or client) a page refresh
generates a new windowid although the application in the current browser window already has
a windowid.
> I think a new windowid should only be generated, if no windowid exists, e.g. open new
window or tab with the same url.
> <context-param>
>    <param-name>javax.faces.CLIENT_WINDOW_MODE</param-name>
>    <param-value>url</param-value>
>    <!--client doesn't work too-->
> </context-param>
> A testcase is attached.
> call url: http://localhost:8080/jsftest22/mypage.jsf
> Fill some values into field
> Press F5 to refresh the page
> => new windowid is generated => inputdata is lost, because a new @ViewScoped bean
was created

This message was sent by Atlassian JIRA

View raw message