struts2中访问值的探讨

问题描述

--------------------sturts。xml<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEstrutsPUBLIC"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN""http://struts.apache.org/dtds/struts-2.0.dtd"><struts><constantname="struts.action.extension"value="do"/><packagename="aopstruts"namespace="/list"extends="struts-default"><actionname="aopstruts_*"class="org.zym.struts2.strutsParam"method="{1}"><resultname="success">/WEB-INF/page/strutsParam.jsp</result></action><actionname="aopstrut"><result>/index.jsp</result></action></package></struts>----------------WEB.XML<?xmlversion="1.0"encoding="UTF-8"?><web-appid="WebApp_9"version="2.4"xmlns="http://java.sun.com/xml/ns/j2ee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/j2eehttp://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"><display-name>StrutsBlank</display-name><filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list></web-app>------------------packageorg.zym.struts2;publicclassPerson{privateIntegerid;publicIntegergetId(){returnid;}publicvoidsetId(Integerid){this.id=id;}publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}privateStringname;}---------------------------packageorg.zym.struts2;publicclassstrutsParam{privateintid;privateStringname;privatePersonperson;publicPersongetPerson(){returnperson;}publicvoidsetPerson(Personperson){this.person=person;}publicintgetId(){returnid;}publicvoidsetId(intid){this.id=id;}publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}publicStringreturnadd(){return"success";}}<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%><!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"><html><body><formaction="<%=request.getContextPath()%>/list/aopstruts_returnadd.do"method="post">id:<inputtype="text"id="person.id"name="person.id"/><br/>name:<inputtype="text"id="person.name"name="person.name"/></br>submit:<inputtype="submit"value="提交"></form></body></html><%@pagelanguage="java"import="java.util.*"pageEncoding="ISO-8859-1"%><%Stringpath=request.getContextPath();%><!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"><html><head><metahttp-equiv="pragma"content="no-cache"><metahttp-equiv="cache-control"content="no-cache"><metahttp-equiv="expires"content="0"><metahttp-equiv="keywords"content="keyword1,keyword2,keyword3"></head><body>ID:${person.id}------;<br/>name:${person.name}-------;</body></html>-----最后得带一个结果就是index.jsp页面提交的值但是在index。jsp页面中id:<inputtype="text"id="person.id"name="person.id"/><br/>name:<inputtype="text"id="person.name"name="person.name"/></br>这里取值只用id时在后端person类中的不到值得,能有那么属性才有值,想了一下不知道为什么,不知道各位大虾有什么间接另外:为什么name="person.id"这样传只在后端能接受到。什么原理。。。就是程序解析步骤是怎么实现的有兴趣的可以详细说明一下呵呵一起提高。。。。。

解决方案

解决方案二:
这个就向常规Form一样,你有见过用标签的ID提交的么。。。其实struts2的前端标签与HTML差别不大
解决方案三:
name="person.id",这样写的Form在提交后,Struts过滤器看到了,用拦截器获取到了参数person.id,往目标Action类上去映射,先找person属性,再找person属性的id属性,把值送到Action类person属性的id属性中,以供后用...
解决方案四:
该回复于2011-04-09 09:25:47被版主删除

时间: 2024-10-24 16:09:12

struts2中访问值的探讨的相关文章

struts2中访问指定了方法,但是却把action下所有的方法都执行了一次这是怎么回事啊

问题描述 struts2中访问指定了方法,但是却把action下所有的方法都执行了一次这是怎么回事啊 具体配置如下图 xml配置如下: jsp如下: action如下: 解决方案 你的BaseAction是自定义的吧,还是哪个别的第三方包的,常用的是继承struct自带的MappingDispatchAction,这个是和struct.xml搭配来用,你也可以继承MappingDispatchAction这个类,然后再写你的action模式 解决方案二: 那应该就是你调用的函数getByPage

在Struts2中使用ValueStack、ActionContext、ServletContext、request、session等

目录(?)[-] ValueStack 如何得到值栈: 如何将对象存入值栈: 让值栈执行表达式来获得值: 在JSP中跳过栈顶元素直接访问第二层: 在JSP中访问值栈对象本身(而不是它们的属性) ActionContext ValueStack与ActionContext的联系和区别: 如何获得ActionContext: 如何向ActionContext中存入值: 如何从ActionContext中读取值: HttpServletRequest类或request的Map 使用HttpServle

在ASP.NET中访问DataGrid中所有控件的值

asp.net|datagrid|访问|控件 要在ASP.NET中访问DataGrid中所有控件的值,可以遍历DataGrid中每个控件:下面就是实现这一功能的aspx代码和脚本代码[VB.NET]: <%@ Page Language="vb" AutoEventWireup="false" Codebehind="DataGridAccessValues.aspx.vb" Inherits="aspxWeb.DataGridA

vb 中如何访问plc地址中的值

问题描述 vb 中如何访问plc地址中的值 在plc地址中M7500对应皮带,M7501对应输送机,M7502对应螺旋机,现在我要取到他们对应的值要如何做 解决方案 可以现则一个OPC,然后用VB调用

struts2中页面取值的原理以及valueStack的应用

  一个简单的用struts2标签代码获取action中属性的例子   <table border="1" width="360">    <caption>     作者李刚的图书    </caption>    <!-- 迭代输出ValueStack中的books对象,其中status是迭代的序号 -->    <s:iterator value="books" status="

struts2中&amp;amp;lt;s:select&amp;amp;gt;标签只能输出显示值,隐藏的value值出不来,内附详情

问题描述 struts2中<s:select>标签只能输出显示值,隐藏的value值出不来,内附详情 原本没有学习struts2时,下拉列表框是用一个集合保存,然后放到作用域,在页面上使用循环输出,这样没问题: 后台java代码 Java代码 收藏代码 private List streetList; public List getStreetList() { return streetList; } public void setStreetList(List streetList) { t

有关struts2中的表单标签回显查询到对象的某个属性值

问题描述 有关struts2中的表单标签回显查询到对象的某个属性值 action中的方法: public String userEdit() { elecUser=elecUserService.findById(elecUser.getUserId()); // ActionContext.getContext().getValueStack().pop(); ActionContext.getContext().getValueStack().push(elecUser); return "

objective c-从NSArray中访问索引值

问题描述 从NSArray中访问索引值 我需要通过索引访问NSArray的值,但是在下面代码的第三行崩溃了. livevalues=[responseString JSONValue]; NSLog(@"%d",[livevalues count]); NSString *objectvalue = [livevalues objectAtIndex:1]; NSLog(@"redyyyyyyyyyyy%@",objectvalue); 1.livevalues 数

Struts2 中&amp;amp;lt;s:iterator&amp;amp;gt;标签取Action中List值的问题

问题描述 这是sql查询出来的格式:adname |showPrice|clickPrice|clicktimes|showtimes| date |advertid海马有声小说| 10 | 0.1 |21 | 100 |2010-10-23| 7 我希望通过我在Action中执行一条SQL语句,把其值赋给一个list.并且通过request.setAttribute("adlist", list);把值存入到request中.在页面使用Struts2的<s:iterator v