ZATS Cookies"

From Documentation
Line 33: Line 33:
 
* '''Line 18''': It changes the cookie from server-side when the user clicking the button.
 
* '''Line 18''': It changes the cookie from server-side when the user clicking the button.
 
* '''Line 19, 29''': If we click the button, web application will show all received cookies.
 
* '''Line 19, 29''': If we click the button, web application will show all received cookies.
 +
  
 
'''Test.java'''
 
'''Test.java'''
Line 53: Line 54:
  
 
== Cookie handling from client-side ==
 
== Cookie handling from client-side ==
 +
Besides handling cookies from server-side, developers can also add, change and remove cookies from client-side. In a ZK web application, we can achieve the previous behavior through the Client-side programming.
  
 
<source lang="java" start="10" high="">
 
<source lang="java" start="10" high="">

Revision as of 08:16, 10 June 2012

WarningTriangle-32x32.png This page is under construction, so we cannot guarantee the accuracy of the content!

aowang



Since 1.1.0


In order to provide developers handle the HTTP cookies, ZATS Mimic introduces a group of methods on Client. ZATS Mimic seamless maintains cookies after connected with a ZK web application. We can read and verify the values of cookies.

cookie.zul

<zscript><![CDATA[
	public void setCookie(String name, String value) {
		javax.servlet.http.HttpServletResponse resp = Executions.getCurrent().getNativeResponse();
		resp.addCookie(new javax.servlet.http.Cookie(name, value));
	}
	setCookie("foo", "bar");
]]>
</zscript>
<button id="change" label="change" onClick='setCookie("foo", "hello");' />
<button id="show" label="show">
	<attribute name="onClick"><![CDATA[
		javax.servlet.http.HttpServletRequest req = Executions.getCurrent().getNativeRequest();
		StringBuilder sb = new StringBuilder();
		for (javax.servlet.http.Cookie c : req.getCookies())
			sb.append(c.getName()).append("=").append(c.getValue()).append(";");
		msg.setValue(sb.toString());
	]]>
	</attribute>
</button>
<label id="msg" />
  • Line 15: This will add a cookie when beginning.
  • Line 18: It changes the cookie from server-side when the user clicking the button.
  • Line 19, 29: If we click the button, web application will show all received cookies.


Test.java

Zats.init(".");
try{
	Client client = Zats.newClient();
	DesktopAgent desktop = client.connect("/~./basic/cookie2.zul");
	Assert.assertEquals("bar", client.getCookie("foo"));
	Assert.assertEquals(null, client.getCookie("not existed"));
	desktop.query("#change").click();
	Assert.assertEquals("hello", client.getCookie("foo"));
}finally{
	Zats.end();
}
  • Line 13, 14, 15: After connecting to a ZUL page, we can get the cookies and verify them.
  • Line 16, 17: ZATS Mimic maintains all cookies during any operations.

Cookie handling from client-side

Besides handling cookies from server-side, developers can also add, change and remove cookies from client-side. In a ZK web application, we can achieve the previous behavior through the Client-side programming.


Copyright © Potix Corporation. This article is licensed under GNU Free Documentation License.