这个可选属性指明了此请求参量引自哪个属性,如果当前请求没有此参量,就什么也不做:系统不会把null值传个属性的设置方法。因此,你可以让bean提供缺省值,而在请求参量有值的情况下覆盖就行了。比如,下面这个程序片段“如果有请求参量,不论这个numItems的请求参量是什么,都设置numberOfItems的属性值,否则,什么也不做。” 
<jsp:setProperty name="orderBean"
                 property="numberOfItems"
                 param="numItems" />
如果你忽略param及value两个属性,就相当于提供了一个与属性名相匹配的参量名。 

解决方案 »

  1.   

    如果Property=*,到底有什么含义呢?这个好理解,将from中的表单名和bean的参数名自动匹配。
      

  2.   

    不要使用这种JSP操作BEAN的方法。把bean当成一个class直接new不是操作更方便吗。
    只是需要指定bean的作用范围的时候使用bean,但是对bean的传值和取值还是可以按照普通类来操作。
      

  3.   

    property, 要设置的bean属性的名称,也可以是*,表示设置那些名称与请求参数匹配的所有属性param,保存了特定属性的值的请求参数的名称,如果忽略这一项,参数名和属性名名必须是一样的value, 赋值给属性的一个显示的值。这个属性不能和param属性结合
      

  4.   

    param指的只是页面中表单的属性吗?使用Property=*,是不是如果存在表单
    <form >  
    <input  name="A" >
    <input  name="B" ></form>是不是就把bean中属性A,B的值和表单的A,B相对应?那给我一个设置param的例子吗?谢谢
      

  5.   

    value的类型该是什么呢,都是String吗?如果需要设置int值,该怎么表示呢?
    用parseInt()处理一下?
      

  6.   

    如果出于某种原因你无法对参数和属性使用相同的名称,你可以利用param属性将bean属性的值设成任何一个请求参数的值。
    <jsp:setProperty name="orderBean"
                     property="numberOfItems"
                     param="numItems" />
    即numItems代替numberOfItems来为orderBean中的numberOfItems属性赋值你还可以使用value属性,来显式地指定不是通过请求参数传递进来的属性的值。
    <jsp:setProperty name="orderBean"
                     property="numberOfItems"
                     value="15" />
    这里numberOfItems被设置成了15。jsp中所有这类的赋值都是String的,如果类型不符合将会抛出异常,所以只要是String类型就不需要经过任何处理。
      

  7.   

    参数是不是就是request里面的属性呢?
    如果value只能是String类型的话,那么如何给不是String型的bean属性操作呢?
      

  8.   

    参数是那些如<input type="text" name=userName" 
    value="<jsp:setProperty name="orderBean"
                     property="name"/>"
    >之类的得到的值我表达的不太好,我的意思其实是说,value只接受String类型的,但是再传给bean的过程中会自动转型,不需要我们手动进行。
      

  9.   

    <input type="text" name=userName" 
    value="<jsp:setProperty name="orderBean"
                     property="name"/>"
    >该是value="<jsp:getProperty name="orderBean" property="name" />的值吧?难道setPropety还能返回值?
      

  10.   

    我的意思是例如input中输入的参数