使用多个 bean 属性绑定单个 sf:input spring 表单标签
binding single sf:input spring form tag with multiple bean attribute
我想使用 spring 标签制作一个表单,这样用户就可以使用他的电子邮件或手机号码或用户名和密码登录。
<sf:form method="POST" modelAttribute="loginBean">
<label for="user_email">User Name/Email/Mobile:</label>
<sf:input path="email,mobile,username" value="${user.email}" />
<label for="user_password">Password:</label>
<sf:input path="password" />
<input type="submit" value="submit" />
</sf:form>
登录Bean
public class LoginBean {
private String email;
private String password;
private String mobile;
private String username;
//getter setter
}
我被困在这里绑定具有多个 bean 属性的单个输入标签。
请帮帮我。
可能有 2 个接近:
- 在 LoginBean 中使用单个
String login
字段和一个具有 login
路径的表单字段。在服务器端,您应该以某种方式识别输入的内容,并根据识别的方式尝试登录 3 次。
-
tryLoginWithEmail(loginBeanInstance.getLogin(), loginBeanInstance.getPassoword());
tryLoginWithMobile(loginBeanInstance.getLogin(), loginBeanInstance.getPassoword());
tryLoginWithUsername(loginBeanInstance.getLogin(), loginBeanInstance.getPassoword());
- 创建一个 3 个表单域并添加一些逻辑以允许仅填写一个域。根据非空字段登录
更新:
- 创建一个方法 tryComplexLogin(login, password),您可以在其中尝试使用密码查找用户并登录,检查数据库中的所有 3 个字段值
喜欢
select * from users
where
(name =:loginNameParam and password=:passwordParam)
OR
(email =:loginNameParam and password=:passwordParam)
OR
(mobile =:loginNameParam and password=:passwordParam)
我想使用 spring 标签制作一个表单,这样用户就可以使用他的电子邮件或手机号码或用户名和密码登录。
<sf:form method="POST" modelAttribute="loginBean">
<label for="user_email">User Name/Email/Mobile:</label>
<sf:input path="email,mobile,username" value="${user.email}" />
<label for="user_password">Password:</label>
<sf:input path="password" />
<input type="submit" value="submit" />
</sf:form>
登录Bean
public class LoginBean {
private String email;
private String password;
private String mobile;
private String username;
//getter setter
}
我被困在这里绑定具有多个 bean 属性的单个输入标签。
请帮帮我。
可能有 2 个接近:
- 在 LoginBean 中使用单个
String login
字段和一个具有login
路径的表单字段。在服务器端,您应该以某种方式识别输入的内容,并根据识别的方式尝试登录 3 次。
-
tryLoginWithEmail(loginBeanInstance.getLogin(), loginBeanInstance.getPassoword());
tryLoginWithMobile(loginBeanInstance.getLogin(), loginBeanInstance.getPassoword());
tryLoginWithUsername(loginBeanInstance.getLogin(), loginBeanInstance.getPassoword());
- 创建一个 3 个表单域并添加一些逻辑以允许仅填写一个域。根据非空字段登录
更新:
- 创建一个方法 tryComplexLogin(login, password),您可以在其中尝试使用密码查找用户并登录,检查数据库中的所有 3 个字段值
喜欢
select * from users
where
(name =:loginNameParam and password=:passwordParam)
OR
(email =:loginNameParam and password=:passwordParam)
OR
(mobile =:loginNameParam and password=:passwordParam)