<jsp:setProperty name="rDoc" property="*"/>
这个语句在jsp中用常出现错误,可能和应用服务器的支持有关
对于bean中的属性、参数设置最好直接调用自己写的赋值、取值函数,这样保险些

解决方案 »

  1.   

    不是提示你了么?在bean里头没有相应的属性声明啊!
      

  2.   

    有啊,我这里是一个循环啊,所以属性名称以变量<%=paramName%>代替,这样写就不行吗?如果属性名称不用<%=paramName%>代替则可以,请问为什么啊?
      

  3.   

    <jsp:setProperty name="rDoc" property="*"/>
      

  4.   

    既然你自己用了循环,那么在循环中直接调用bean中的get和set方法即可
      

  5.   

    可是我的form的ENCTYPE="multipart/form-data,如果这样写
    <jsp:setProperty name="rDoc" property="*"/>
    无法将表单中的值复制到bean中去的,必须先要用myUpload.getRequest().getParameter(paramName)将参数的值先得到再用
    <jsp:setProperty name="paramName" value="paramValue">
    进行setProperty啊!
    请大家看清楚我贴的代码好吗?
      

  6.   

    我是用了循环,可是循环过程中还是不知道当前参数名字啊,我当前参数名字是用变量paramName代替的,如果当前变量为a,而我的bean中对应的set方法为seta(),如果有如javascript中的eval函数的方法存在就好了,我就可以这样写了
    eval("set"+paramName+"()");
      

  7.   

    我觉得问题出在ENCTYPE="multipart/form-data",根据W3C的文档,multipart/form-data是用在文件上传时,请求实体的编码,一般来说实体如下:
    -----------------------------7d374f700d0
    Content-Disposition: form-data; name="text"whodsow
    -----------------------------7d374f700d0--也就是说请求中有变量值对:text=whodsow
    我们一般用的form中enctype属性的值是:application/x-www-form-urlencoded,这是个默认值,这时请求实体直接如下:
    text=whodsow当使用第一个设置的时候,request.getParameterNames();所返回的Enumeration对象中,并无任何对象的枚举,即得不到参数名,当你用一个已知的参数名求值时:request.getParameter(paramName);可以返回值该变量的值,可在JSP中,bean是依靠request.getParameterNames();来得到所有paramName的,然后根据Bean中方法的特殊用映射的办法设置Bean中的属性的,所以你的办法失败了。
      

  8.   

    用enctype的默认属性就没有办法上传附件了!
      

  9.   

    没有什么更好的办法。
    如果你使用了multipart/form-data,那么除了附件以外的其他属性值必须使用set方法“一个一个”在目标页面传到bean中,即便是有几十个属性值。