Webx框架配置文件——form.xml

配置form.xml,在</services:form>之前插入

<services:group name="login" extends="csrfCheck">

        <services:field name="loginError"> 

                <custom-error id="invalidUserOrPassword"> 

                    <message>用户名或密码不正确,请重新输入</message> 

                </custom-error> 

            </services:field> 

            <services:field name="name" displayName="账号">

                <required-validator>

                    <message>必须填写 ${displayName}</message>

                </required-validator>

            </services:field>

            <services:field name="passwd" displayName="密码">

                <required-validator>

                    <message>必须填写 ${displayName}</message>

                </required-validator>

            </services:field>

        </services:group>


在app2/templages/screen下创建login.vm :

$page.setTitle("login")

 

<form action="$app2Link.setTarget("login")" method="post">

    $csrfToken.hiddenField

    <input type="hidden" name="action" value="login_action"/>

    #set ($group = $form.login.defaultInstance)

 

    <p>Hello, what's your name?</p>

    

    #if (!$group.csrfToken.valid)

<p>$group.csrfToken.message</p>

    #end

    

    #if (!$group.name.valid)

        <p>$group.name.message</p>

    #end

    

    #if (!$group.passwd.valid)

        <p>$group.passwd.message</p>

    #end

 

    <p>

                     账号<input type="text" name="$group.name.key" value="$!group.name.value" /><br />

 密码<input type="password" name="$group.passwd.key" value="$!group.passwd.value" /><br />

        <input type="submit" name="event_submit_do_login" />

    </p>

 

</form>


在app2.module.screen下创建Login.java:

package com.yunos.cloudmarket.webdemo2.app2.module.screen;

public class Login {

public void execute() {

    }

}

创建app2.module.action (注意这里的app2前面应该还有你的前缀,以后不在详细说明)
app2.module.action 下创建LoginAction.java

ok登陆页面生成了!
访问:http://localhost:8080/app2/login.htm


主要代码解析:
1. <input type="hidden" name="action" value="login_action"/& gt;这个不能少,这表示提交之后执行的是LoginAction.java,这里的value值login_action在程序内部会被处理成 LoginAction
因此这里如果写成 value="LoginAction", 结果是一样的

2.<input type="submit" name="event_submit_do_login" />这里提交后表示执行的方法是doLogin方法,如果你要执行其他方法请修改name值name="event_submit_你的方法"

猜你喜欢

转载自zyjustin9.iteye.com/blog/2059037