📄 signup.page
字号:
<?xml version="1.0"?><!DOCTYPE page-specification PUBLIC "-//Apache Software Foundation//Tapestry Specification 3.0//EN" "http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd"> <page-specification class="org.appfuse.webapp.action.SignupForm"> <bean name="delegate" class="org.appfuse.webapp.action.Validator"/> <bean name="requiredValidator" class="org.apache.tapestry.valid.StringValidator"> <set-property name="required" expression="true"/> <set-property name="clientScriptingEnabled" expression="true"/> </bean> <bean name="zipValidator" class="org.apache.tapestry.valid.PatternValidator"> <set-property name="patternString">"\\d{5}(-\\d{4})?"</set-property> <set-property name="required" expression="true"/> <!-- TODO: Read this message from i18n --> <set-property name="patternNotMatchedMessage">"Invalid zip code."</set-property> <set-property name="clientScriptingEnabled" expression="true"/> </bean> <bean name="phoneValidator" class="org.apache.tapestry.valid.StringValidator"> <set-property name="required" expression="true"/> <set-property name="minimumLength" expression="11"/> <set-property name="clientScriptingEnabled" expression="true"/> </bean> <bean name="emailValidator" class="org.apache.tapestry.valid.EmailValidator"> <set-property name="clientScriptingEnabled" expression="true"/> <set-property name="minimumLength" expression="8"/> <set-property name="required" expression="true"/> <set-property name="clientScriptingEnabled" expression="true"/> </bean> <property-specification name="user" type="org.appfuse.model.User"/> <property-specification name="userManager" type="org.appfuse.service.UserManager"> global.appContext.getBean("userManager") </property-specification> <property-specification name="roleManager" type="org.appfuse.service.RoleManager"> global.appContext.getBean("roleManager") </property-specification> <component id="usernameField" type="ValidField"> <binding name="value" expression="user.username"/> <binding name="validator" expression="beans.requiredValidator"/> <message-binding name="displayName" key="user.username"/> </component> <component id="passwordField" type="ValidField"> <binding name="hidden" expression="true"/> <binding name="value" expression="user.password"/> <binding name="validator" expression="beans.requiredValidator"/> <message-binding name="displayName" key="user.password"/> </component> <component id="confirmPasswordField" type="ValidField"> <binding name="hidden" expression="true"/> <binding name="value" expression="user.confirmPassword"/> <binding name="validator" expression="beans.requiredValidator"/> <message-binding name="displayName" key="user.confirmPassword"/> </component> <component id="firstNameField" type="ValidField"> <binding name="value" expression="user.firstName"/> <binding name="validator" expression="beans.requiredValidator"/> <message-binding name="displayName" key="user.firstName"/> </component> <component id="lastNameField" type="ValidField"> <binding name="value" expression="user.lastName"/> <binding name="validator" expression="beans.requiredValidator"/> <message-binding name="displayName" key="user.lastName"/> </component> <component id="cityField" type="ValidField"> <binding name="value" expression="user.address.city"/> <binding name="validator" expression="beans.requiredValidator"/> <message-binding name="displayName" key="user.address.city"/> </component> <component id="stateField" type="ValidField"> <binding name="value" expression="user.address.province"/> <binding name="validator" expression="beans.requiredValidator"/> <message-binding name="displayName" key="user.address.province"/> </component> <!-- TODO: Validate this field --> <component id="countryField" type="PropertySelection"> <binding name="model" expression="countries"/> <binding name="value" expression="user.address.country"/> <!-- Doesn't work --> <!--message-binding name="displayName" key="user.address.country"/--> </component> <component id="addressField" type="TextField"> <binding name="value" expression="user.address.address"/> </component> <component id="postalCodeField" type="ValidField"> <binding name="value" expression="user.address.postalCode"/> <binding name="validator" expression="beans.zipValidator"/> <message-binding name="displayName" key="user.address.postalCode"/> </component> <component id="emailField" type="ValidField"> <binding name="value" expression="user.email"/> <binding name="validator" expression="beans.emailValidator"/> <message-binding name="displayName" key="user.email"/> </component> <component id="phoneNumberField" type="TextField"> <binding name="value" expression="user.phoneNumber"/> <binding name="validator" expression="beans.phoneValidator"/> </component> <component id="websiteField" type="ValidField"> <binding name="value" expression="user.website"/> <binding name="validator" expression="beans.requiredValidator"/> <message-binding name="displayName" key="user.website"/> </component> <component id="passwordHintField" type="ValidField"> <binding name="value" expression="user.passwordHint"/> <binding name="validator" expression="beans.requiredValidator"/> <message-binding name="displayName" key="user.passwordHint"/> </component></page-specification>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -