-
FEATURED COMPONENTS
First time here? Check out the FAQ!
刚开始用ZK,写了一个简单的登录页面,文件名为login.zul,内容如下:
<?page title="new page title" contentType="text/html;charset=UTF-8"?>
<zk>
<window border="none" height="152px" use="com.together.soft.window.WinLogin">
<zscript><![CDATA[
Constraint ctt = new Constraint() {
public void validate(Component comp, Object value) throws WrongValueException {
String compStr = (String)value;
if (value == null || (!compStr.equals(cpa.value)))
throw new WrongValueException(comp, "验证码输入错误!");
}
}
]]></zscript>
<hbox>
<label value="用户名称:" /><textbox id="userName" />
</hbox>
<hbox>
<label value="用户密码:" /><textbox id="password" type="password"/>
</hbox>
<hbox>
<label value=" 验证码:" />
<vbox>
<textbox id="verifyCode" constraint="${ctt}"/>
<captcha id="cpa" length="6" width="150px" height="50px"/>
</vbox>
</hbox>
<hbox>
<button label="登录" forward="onOK"/>
<button label="换图片 " onClick="cpa.randomValue();" />
</hbox>
</window>
</zk>
我想在Java类WinLogin中对用户输入的用户名称和密码进行校验,WinLogin的内容如下:
package com.together.soft.window;
import org.zkoss.zk.ui.Executions;
import org.zkoss.zul.Textbox;
import org.zkoss.zul.Window;
/**
* 处理登录相关的请求
*/
public class WinLogin extends Window {
/**
* 序列化键值
*/
private static final long serialVersionUID = 1L;
/**
* 处理登录请求
*/
public void onOK() {
//内容校验
System.out.println("userName:" + userName);
Executions.sendRedirect("index.zul");
}
}
但是在内容校验处不知道该如何读取文件login.zul中的内容,如读取元素<textbox id="userName" />中的内容,代码该如何写?
我看网上有例子用实现Composer的方式来读取,在其中声明一个同名的textbox,能够不声明而直接读取吗?就像以前使用request.getParamter("userName")类型的方式?
建议参阅该篇http://www.zkoss.org/smalltalks/mvc3/
使用该篇后面提到的继承GenericForwardComposer类这种方式
这样只要你的java类的变量与类型名称跟zul中的组件ID与类型相同就会自动关联。
Asked: 2009-10-15 13:48:09 +0800
Seen: 410 times
Last updated: Oct 16 '09