在struts1中,我们知道,需要定义一个form类,来对应jsp页面,进行页面数据的传输和交换,在开放的过程中可以使用struts1提供的方便的动态form进行开发,比较方便,那么在struts2中同样也可以使用类似struts1中的动态form,请看如下的例子:
我们实现一个登陆功能来展示动态form的使用,首先定义一个Action类:
public class LoginAction implements Action
{
//定义一个Map,用来装载页面数据,他是实现动态form所必须的,并实现getter和setter方法,并定义对该map中Value进行设置和获取的方法:setFormValue,getFormValue
private Map formMap = new HashMap();
public Map getFormMap()
{
return formMap;
}
public void setFormMap(Map _map)
{
this.formMap = _map;
}
public void setFormValue(String key, Object value)
{
formMap.put(key, value);
}
public Object getFormValue(String key)
{
return formMap.get(key);
}
public String execute()throws Exception
{
String userName = (String)this.getFormValue("username");//取得用户名称
String password = (String)this.getFormValue("password");//取得用户密码
if(userName.equals("admin") && password.equals("123456"))//判断用户名称和密码是否正确
{
return SUCCESS; //用户和密码正确,登陆成功
}
else
{
return ERROR;//用户名称或密码不正确,登陆失败
}
}
}
接着定义3个jsp页面(仅仅写出关键代码),一个用来登陆,一个用来显示登陆成功,一个用来显示登陆失败。
登陆页面:login.jsp
<%@ page language="java" pageEncoding="GB18030"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
登陆成功页面:success.jsp
<%@ page language="java" pageEncoding="GB18030"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
登陆失败页面:error.jsp
<%@ page language="java" pageEncoding="GB18030"%>
登陆失败,用户名称或密码不正确!
好,到目前为止,差不多已经完成了,是不是就可以了呢,不是的,其实我们还少一步,那就是需要进行配置文件的配置,告诉struts2在哪里可以找到页面,下面是配置信息片段:
好了,终于大功告成了,个人感觉在一部份项目中使用动态form会很方便,推荐使用,当然并不是所有的都需要这个,毕竟真理向前一步就是谬误,希望我们在开发的实际过程中能够运用的更好,提高开发效率。
0 件のコメント:
コメントを投稿