ssh-求助:SSH框架,页面上的数据无法提交到action中

问题描述

求助:SSH框架,页面上的数据无法提交到action中

这是页面

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

所有列表


/s:iterator

编号 表名 创建日期

">[modify]
">[delete]/s:label

增加列表

查找列表

解决方案

主要是你的配置文件的问题,要仔细检查
你可以下载一个别人的程序看下

解决方案二:

控制台的信息和错误

[10:23:05] DEBUG interceptor.I18nInterceptor "intercept } "
[10:23:07] DEBUG impl.InstantiatingNullHandler "Entering nullPropertyValue [target=[com.opensymphony.xwork2.DefaultTextProvider@9b8579], property=struts]"
[10:23:07] DEBUG impl.InstantiatingNullHandler "Entering nullPropertyValue [target=[com.opensymphony.xwork2.DefaultTextProvider@9b8579], property=struts]"
[10:23:07] DEBUG xwork2.DefaultActionProxy "Creating an DefaultActionProxy for namespace / and action name ListsAllFind"
[10:23:07] DEBUG support.DefaultListableBeanFactory "Returning cached instance of singleton bean 'ListsAllAction'"
[10:23:07] DEBUG interceptor.I18nInterceptor "intercept '//ListsAllFind' { "
[10:23:07] DEBUG interceptor.I18nInterceptor "applied invocation context locale=zh_CN"
[10:23:07] DEBUG interceptor.I18nInterceptor "before Locale=zh_CN"
[10:23:07] DEBUG impl.InstantiatingNullHandler "Entering nullPropertyValue [target=[cn.daisy.waction.ListsAllAction@14c6abc, com.opensymphony.xwork2.DefaultTextProvider@9b8579], property=struts]"
[10:23:07] DEBUG interceptor.FileUploadInterceptor "Bypassing //ListsAllFind"
[10:23:07] DEBUG interceptor.StaticParametersInterceptor "Setting static parameters {}"
[10:23:07] DEBUG interceptor.ParametersInterceptor "Setting params NONE"
[10:23:07] DEBUG interceptor.ParametersInterceptor "Setting params l.markName => [ map ] "
[10:23:07] DEBUG impl.InstantiatingNullHandler "Entering nullPropertyValue [target=[cn.daisy.waction.ListsAllAction@14c6abc, com.opensymphony.xwork2.DefaultTextProvider@9b8579], property=l]"
[10:23:07] WARN ognl.OgnlValueStack "Error setting expression 'l.markName' with value '[Ljava.lang.String;@b3e75d'"
ognl.OgnlException: target is null for setProperty(null, "markName", [Ljava.lang.String;@b3e75d)
at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:2239)
at ognl.ASTProperty.setValueBody(ASTProperty.java:127)
at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:220)
at ognl.SimpleNode.setValue(SimpleNode.java:301)
at ognl.ASTChain.setValueBody(ASTChain.java:227)
at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:220)
at ognl.SimpleNode.setValue(SimpleNode.java:301)
at ognl.Ognl.setValue(Ognl.java:737)
at com.opensymphony.xwork2.ognl.OgnlUtil.setValue(OgnlUtil.java:209)
at com.opensymphony.xwork2.ognl.OgnlValueStack.trySetValue(OgnlValueStack.java:173)
at com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:160)
at com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:151)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.setParameters(ParametersInterceptor.java:288)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:199)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:142)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:166)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:190)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:485)
at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
[10:23:07] DEBUG validation.AnnotationValidationInterceptor "Validating //ListsAllFind with method doFindById."
[10:23:07] DEBUG validator.ValidationInterceptor "Invoking validate() on action cn.daisy.waction.ListsAllAction@14c6abc"
[10:23:07] DEBUG interceptor.PrefixMethodInvocationUtil "cannot find method [validateDoFindById] in action [cn.daisy.waction.ListsAllAction@14c6abc]"
[10:23:07] DEBUG interceptor.PrefixMethodInvocationUtil "cannot find method [validateDoDoFindById] in action [cn.daisy.waction.ListsAllAction@14c6abc]"
[10:23:07] DEBUG xwork2.DefaultActionInvocation "Executing action method = doFindById"
[10:23:37] DEBUG impl.InstantiatingNullHandler "Entering nullPropertyValue [target=[com.opensymphony.xwork2.DefaultTextProvider@9b8579], property=struts]"
[10:23:37] DEBUG impl.InstantiatingNullHandler "Entering nullPropertyValue [target=[com.opensymphony.xwork2.DefaultTextProvider@9b8579], property=struts]"
[10:23:37] DEBUG xwork2.DefaultActionProxy "Creating an DefaultActionProxy for namespace / and action name ListsAllFind"
[10:23:37] DEBUG support.DefaultListableBeanFactory "Returning cached instance of singleton bean 'ListsAllAction'"
[10:23:37] DEBUG interceptor.I18nInterceptor "intercept '//ListsAllFind' { "
[10:23:37] DEBUG interceptor.I18nInterceptor "applied invocation context locale=zh_CN"
[10:23:37] DEBUG interceptor.I18nInterceptor "before Locale=zh_CN"
[10:23:37] DEBUG impl.InstantiatingNullHandler "Entering nullPropertyValue [target=[cn.daisy.waction.ListsAllAction@14c6abc, com.opensymphony.xwork2.DefaultTextProvider@9b8579], property=struts]"
[10:23:37] DEBUG interceptor.FileUploadInterceptor "Bypassing //ListsAllFind"
[10:23:37] DEBUG interceptor.StaticParametersInterceptor "Setting static parameters {}"
[10:23:37] DEBUG interceptor.ParametersInterceptor "Setting params NONE"
[10:23:37] DEBUG interceptor.ParametersInterceptor "Setting params l.markName => [ map ] "
[10:23:37] DEBUG impl.InstantiatingNullHandler "Entering nullPropertyValue [target=[cn.daisy.waction.ListsAllAction@14c6abc, com.opensymphony.xwork2.DefaultTextProvider@9b8579], property=l]"
[10:23:37] WARN ognl.OgnlValueStack "Error setting expression 'l.markName' with value '[Ljava.lang.String;@4338fa'"
ognl.OgnlException: target is null for setProperty(null, "markName", [Ljava.lang.String;@4338fa)
at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:2239)
at ognl.ASTProperty.setValueBody(ASTProperty.java:127)
at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:220)
at ognl.SimpleNode.setValue(SimpleNode.java:301)
at ognl.ASTChain.setValueBody(ASTChain.java:227)
at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:220)
at ognl.SimpleNode.setValue(SimpleNode.java:301)
at ognl.Ognl.setValue(Ognl.java:737)
at com.opensymphony.xwork2.ognl.OgnlUtil.setValue(OgnlUtil.java:209)
at com.opensymphony.xwork2.ognl.OgnlValueStack.trySetValue(OgnlValueStack.java:173)
at com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:160)
at com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:151)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.setParameters(ParametersInterceptor.java:288)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:199)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:142)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:166)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:190)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:485)
at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
[10:23:37] DEBUG validation.AnnotationValidationInterceptor "Validating //ListsAllFind with method doFindById."
[10:23:37] DEBUG validator.ValidationInterceptor "Invoking validate() on action cn.daisy.waction.ListsAllAction@14c6abc"
[10:23:37] DEBUG interceptor.PrefixMethodInvocationUtil "cannot find method [validateDoFindById] in action [cn.daisy.waction.ListsAllAction@14c6abc]"
[10:23:37] DEBUG interceptor.PrefixMethodInvocationUtil "cannot find method [validateDoDoFindById] in action [cn.daisy.waction.ListsAllAction@14c6abc]"
[10:23:37] DEBUG xwork2.DefaultActionInvocation "Executing action method = doFindById"

解决方案三:

实在是不知道问题出在哪里了,已经做好了两个表的增删改查了,但是这个表的不行

解决方案四:

到后台复制为null时,你要检查2个地方。看前台传值的name和后台取得name是否一样,第二点是是用表单单独传值,还是前台转换为json往后台传值。

解决方案五:

[10:23:07] WARN ognl.OgnlValueStack "Error setting expression 'l.markName' with value '[Ljava.lang.String;@b3e75d'"
ognl.OgnlException: target is null for setProperty(null, "markName", [Ljava.lang.String;@b3e75d)

时间: 2024-11-05 14:50:28

ssh-求助:SSH框架,页面上的数据无法提交到action中的相关文章

怎么用程序实现模拟登陆到网站并下载页面上的数据?

问题描述 即不用浏览器登录网站,直接程序实现登陆,然后把访问页面上的数据保存到本地我知道要用到 模拟登陆 正则表达式但是不知道要怎么实现这个程序求解 解决方案 通常做法- 模拟登陆: 用 HttpClient 创建Http请求 -> 发送请求 -> 获得响应报文 -> 解析即可.模拟登陆就是 模拟登陆参数提交,具体对方页面代码,看 提交的 用户名密码 是什么表单,模拟该表单即可(当然,分GET 和 POST两种)解析部分推荐 Xpath另外还有很多框架可以用,随便GOOGLE搜搜就行.解

spring mvc实现导出数据到excel,页面上有数据,只在controller里面写

问题描述 spring mvc实现导出数据到excel,页面上有数据,只在controller里面写 没有service方法,请问controller和jsp页面如何写,另外报表模板放在webapp/admin/excel下 解决方案 用poi /** * 导出exec * @param request * @param response * @param model * @return * @throws UnsupportedEncodingException */ @RequestMapp

求助!在页面上获取指定ID的value值

问题描述 怎样在下面的代码里获取变量值?<f:eventtype="preRenderComponent"listener="#{TestHome.findTypeDescription(变量)}"></f:event>变量的值是xhtml页面上一个控件的value值求助大神,大牛,大拿们框架是JSF,页面是xhtmlf标签是xmlns:f="http://java.sun.com/jsf/core" 解决方案

框架页面尽可以这么用(后置代码中控制框架)

下面是框架页: <%@ Page CodeBehind="Frameset.aspx.cs" Language="c#" AutoEventWireup="false" Inherits="IbatisTest.Web.Frameset" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"> <HTML&g

我做一个简单的留言板,已经在页面上插入到了数据,如何从数据库中按原来留言板的格式输出里面的内容?

问题描述 如题, 解决方案 解决方案二:已经将获得了页面上的数据,并插入到了数据库解决方案三:就象这个流言一样?最好用个编辑器解决方案四:up解决方案五:是的就如现在用的这个这个应该怎么做啊?谢谢大家解决方案六:如果你用的了编辑器,那么直接显示到页面上就可以了解决方案七:我用的是TEXTBOX控件有好几个控件怎样按要求输出到控件上好象要用到FOR循环但不知道怎样用``解决方案八:UP解决方案九:TEXTBOX,一般的用户自己能给内容加上样式吗?你可以把TEXTBOX替换为一些编辑器.

利用XMLHTTP从其他页面获取网页数据

xml|数据|网页|页面      我们在编写ASP代码的时候,大家都知道可以通过post或者get获得form表单的数据,那么我们如何直接获得其他页面上的数据呢?这就要借助xmlhttp协议了.xmlhttp是xmldom技术的一部分.       下面的代码就是一个很简单的例子,我们利用xmlhttp技术,把http://www.codetoad.com/站点首页的代码以xml的形式完全获取,并且在页面中输出. <%   Dim objXMLHTTP, xml   Set xml = Ser

使用HttpWebRequest向网站模拟上传数据

request|web|上传|数据 最近有个朋友离开IT行业二年的朋友说要实现用程序向某个网站的页面上传数据,他是意思是每天有几十条数据要在网站页面上填写,很烦,最好用程序来写.网站页面是用POST传递的,同时没有验证码之类的东东,只有一点限制就是5分种内不能填写二次记录.这一切都好办. using System.Web;using System.Net;using System.Text;using System.IO; //创建对某个网站页面的请求 HttpWebRequest  myReq

jsp-将JSP网页上的数据加载到word模板中然后发送到指定的邮箱

问题描述 将JSP网页上的数据加载到word模板中然后发送到指定的邮箱 现在需要做一个简单的页面应用,个人以前很少做这种.就是在一个JSP页面上填写相关的信息,然后将信息获取填充到给定的word文档中,最后将word文档发送到指定的邮箱. 上面的是简单的需求.我分析了下,可以分为三步:第一.按照word文档制作一个JSP页面,第二.将页面上的数据提取然后写入到word中,第三.发送邮件. 现在感到最困难的就是第二步,写数据到word中,不知道有没有什么好的方法可以推荐,或者有类似的项目给我借鉴下

请教 关于在页面上循环显示数据的格式问题

问题描述 很多时候会遇到这样的情况:要从数据库拿出一组数据,格式化之后循环输出到页面上(例如相册里的图片).然后要在每个数据上加个onclick事件,点击后弹出一个DIV,用来修改数据(不是提交表单,只是在页面上修改数据,或者发ajax请求,改完后直接显示在同页面上).我想讨论的问题是:怎样让弹出的这个DIV定位到指定的数据上呢?我现在想到的方法有:1.给每个数据加个唯一的ID如<div id="id1" onclick="showchange('id1')"