Struts2+OGNL传递参数List,Map的一个小例子
2011-10-20 17:30
375 查看
Struts2中继承了Webwork的强大OGNL,下面是一个例子:
index.jsp:提交列表
<s:form action="ognl">
<s:textfield name="list[0]" label="list[0]="/>
<s:textfield name="list[1]" label="list[1]="/>
<s:textfield name="list[2]" label="list[2]="/>
<s:textfield name="map['name']" label="map['name']="/>
<s:textfield name="map['pass']" label="map['pass']="/>
<s:submit></s:submit>
</s:form>
其中list[0],list[1],list[2]对应被添加到Action的list中!
Action:
package actions;
import com.opensymphony.xwork2.ActionSupport;
import java.util.*;
import javax.servlet.ServletRequest;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.interceptor.ServletRequestAware;
public class OGNLValue extends ActionSupport implements ServletRequestAware
{
List list;
Map<String,String> map;
String var;
ServletRequest req=null;
public void setVar(String v)
{
var = v;
}
public String getVar()
{
return var;
}
public void setList(List l)
{
list = l;
}
public List getList()
{
return list;
}
public void setMap(Map m)
{
map = m;
}
public Map getMap()
{
return map;
}
public String execute()
{
req.setAttribute("list", list);
req.setAttribute("map", map);
return "OK";
}
public void setServletRequest(HttpServletRequest arg0)
{
req = arg0;
}
}
show.jsp
<s:property value="#request.list[0]"/>
<s:property value="#request.map['name']"/>
struts.xml
<action name="ognl" <result name="OK">/show.jsp</result>
<result name="ERROR">/jsp/error.jsp</result>
</action>
index.jsp:提交列表
<s:form action="ognl">
<s:textfield name="list[0]" label="list[0]="/>
<s:textfield name="list[1]" label="list[1]="/>
<s:textfield name="list[2]" label="list[2]="/>
<s:textfield name="map['name']" label="map['name']="/>
<s:textfield name="map['pass']" label="map['pass']="/>
<s:submit></s:submit>
</s:form>
其中list[0],list[1],list[2]对应被添加到Action的list中!
Action:
package actions;
import com.opensymphony.xwork2.ActionSupport;
import java.util.*;
import javax.servlet.ServletRequest;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.interceptor.ServletRequestAware;
public class OGNLValue extends ActionSupport implements ServletRequestAware
{
List list;
Map<String,String> map;
String var;
ServletRequest req=null;
public void setVar(String v)
{
var = v;
}
public String getVar()
{
return var;
}
public void setList(List l)
{
list = l;
}
public List getList()
{
return list;
}
public void setMap(Map m)
{
map = m;
}
public Map getMap()
{
return map;
}
public String execute()
{
req.setAttribute("list", list);
req.setAttribute("map", map);
return "OK";
}
public void setServletRequest(HttpServletRequest arg0)
{
req = arg0;
}
}
show.jsp
<s:property value="#request.list[0]"/>
<s:property value="#request.map['name']"/>
struts.xml
<action name="ognl" <result name="OK">/show.jsp</result>
<result name="ERROR">/jsp/error.jsp</result>
</action>
相关文章推荐
- 基于Eclipse Maven的Spring4/Spring-MVC/Hibernate4整合之八:一个简单例子演示Spring-MVC中多种参数传递方式
- 一个简单的例子,证明JAVA参数是通过值传递
- mybatis中传入一个List或Map集合作为查询条件的参数
- springmvc 传递复杂对象参数报 property path is neither an array nor a List nor a Map
- Hadoop中传递list/Map/对象型参数的传递
- 通过一个内存泄露例子体会参数传递
- 关于二级指针的使用测试小例子,仅供测试--参数传递的时候用指针最好,因为压栈的时候指针,只是压入一个地址的值,最多4个字节(32位机上),提供的3个测试例子,基于VC6.0的环境。
- PHP跳转到另一个画面,并且带着该行内的一个数值作为参数传递给下一个页面.能给例子吗
- 一个成功传递引用类型参数到非托管环境的例子
- SpringMVC参数传递方式list,map
- 一个内核模块例子(实现调用其他模块中的方法,传递参数等)
- 一个小例子把map放到list里面,数组套JSONObject的方式
- 可以把List<String>传递给一个接受List<Object>参数的方法吗?
- 关于java里面Collection包括List,Map等初始化内部匿名类和泛型的一个例子
- 体验Castle中从配置文件注册组件以及传递参数的一个小例子
- 一个理解js动态创建节点并注册事件及传递参数的例子
- springMVC 参数传递之:数组,Map,List,Set以及自定义复杂类型参数
- 如何开发一个java开源框架-----Jvn框架之实现参数传递跟信息返回(第二讲)
- 创建线程时安全传递参数例子
- 利用AJAX为JSP页面传递一个包含了若干对象的List集合