目的:在一个文档中给出用户名和密码,根据文档核对用户名和密码,如果都对,才转入sucessLogon.jsp,否则回到登陆界面,并提示:用户名或者密码错误!
1.新建一个ValidateUser.properties文件,用notepad打开,设内容为:
jsp.logon.user.name=tiana
jsp.logon.user.password=123
2.logon.jsp我们采用前面入门例子的代码.我们最主要的任务就是实现logonAction.java中的execute方法。下面给出execute的代码。
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
LogonForm logonForm = (LogonForm) form;// TODO Auto-generated method stub
String userName = logonForm.getUserName(); //获取用户输入的用户名
String password=logonForm.getPassword(); //获取用户输入的密码
ResourceBundle bundle=ResourceBundle.getBundle("com.orientweb.struts.ValidateUser");
String UN=bundle.getString("jsp.logon.user.name");
String pwd=bundle.getString("jsp.logon.user.password");
if(!userName.equals(UN) || !password.equals(pwd)) //用户名或密码不对
{
ActionErrors errors = new ActionErrors();
errors.add("userEnterFail", new ActionError("jsp.logon.user.enterfail"));
saveErrors(request, errors);
return (new ActionForward(mapping.getInput())); //返回登陆界面
}
return mapping.findForward("success");
}
解释:
----ResourceBundle bundle=ResourceBundle.getBundle("com.orientweb.struts.ValidateUser"); 获取src->com->orientweb->stuts目录下的ValidateUser.properties资源文件。
----String UN=bundle.getString("jsp.logon.user.name"); 获取ValidateUser.properties中关键字"jsp.logon.user.name"所对应的value,这里得到的UN="lili"
当然,我们需要在.properties文件中定义错误信息jsp.logon.user.enterfail。
jsp.logon.user.enterfail=用户名或者密码错误
关于怎么国际化这里就不多说了
1.新建一个ValidateUser.properties文件,用notepad打开,设内容为:
jsp.logon.user.name=tiana
jsp.logon.user.password=123
2.logon.jsp我们采用前面入门例子的代码.我们最主要的任务就是实现logonAction.java中的execute方法。下面给出execute的代码。
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
LogonForm logonForm = (LogonForm) form;// TODO Auto-generated method stub
String userName = logonForm.getUserName(); //获取用户输入的用户名
String password=logonForm.getPassword(); //获取用户输入的密码
ResourceBundle bundle=ResourceBundle.getBundle("com.orientweb.struts.ValidateUser");
String UN=bundle.getString("jsp.logon.user.name");
String pwd=bundle.getString("jsp.logon.user.password");
if(!userName.equals(UN) || !password.equals(pwd)) //用户名或密码不对
{
ActionErrors errors = new ActionErrors();
errors.add("userEnterFail", new ActionError("jsp.logon.user.enterfail"));
saveErrors(request, errors);
return (new ActionForward(mapping.getInput())); //返回登陆界面
}
return mapping.findForward("success");
}
解释:
----ResourceBundle bundle=ResourceBundle.getBundle("com.orientweb.struts.ValidateUser"); 获取src->com->orientweb->stuts目录下的ValidateUser.properties资源文件。
----String UN=bundle.getString("jsp.logon.user.name"); 获取ValidateUser.properties中关键字"jsp.logon.user.name"所对应的value,这里得到的UN="lili"
当然,我们需要在.properties文件中定义错误信息jsp.logon.user.enterfail。
jsp.logon.user.enterfail=用户名或者密码错误
关于怎么国际化这里就不多说了