如标题。
我想在list.jsp页面中传递一个id值到action中进行处理。这个id值是用户点击的。
list.jsp如下:
<s:iterator value="pageBean.list" id="p">
                            <div>
                                <img alt="pet image" src="<s:property value='#p.petimage'/>" />
                            </div>
                        Name :
                        <s:property value="#p.petname" />
                        Price:
                        <s:property value="#p.petprice" />
                        Account:
                        <s:property value="#p.petnumber" />                        <s:a href="cart">Add to Cart</s:a>
                        </s:iterator>
struts.xml文件:
<struts>    <package name="mypet" extends="struts-default">
        <action name="listPet" class="listPetAction">
            <result>/list2.jsp</result>
        </action>        <action name="getsex" class="com.mypet.action.user.SexAction">
            <result>/register2.jsp</result>
        </action>        <action name="saveUser" class="saveUserAction">
            <result>/login.jsp</result>
            <result name="input">/register2.jsp</result>
        </action>        <action name="login" class="loginAction">
            <result>/index.jsp</result>
            <result name="input">/error.jsp</result>
        </action>
        
        <action name="logout" class="com.mypet.action.user.LogoutAction">
            <result>/index.jsp</result>
            <result name="input">/error.jsp</result>
        </action>        <action name="cart" class="com.mypet.action.cart.CartAction">
            <result>/index.jsp</result>
        </action>
    </package></struts>
我想通过链接传递一个id到action中,请问怎么传递 呢?

解决方案 »

  1.   

    在action中写:ServletRequest request=ServletActionContext.getRequest();
    String id=request.getParameter("id");
      

  2.   

    在Action中定义一个变量对应于页面中的ID,两者的名称一定要相同,在Action中再添加该变量的get()跟set()方法 ,
    就可以读取和设置了!
      

  3.   

    类似这种?
    <s:a href='cart.action?id=%{id}'>Add to Cart </s:a> 
    或者把id放到隐藏域里  然后在action端再取
      

  4.   

    <s:url id="cart" action="cart">
    <s:param name="id">
    <s:property value="#p.id" />
    </s:param>
    </s:url>
    <s:a href="%{cart}">Add to Cart </s:a> 
      

  5.   

    ServletRequest request=ServletActionContext.getRequest();
    String id=request.getParameter("id");
      

  6.   

    如果是JavaScript 传过来的参数怎么获取呢?
      

  7.   

    <s:url id="cart" action="cart">
    <s:param name="id">
    <s:property value="#p.id" />
    </s:param>
    </s:url>
    <s:a href="%{cart}">Add to Cart </s:a>
      

  8.   

    楼主记住一般在页面传值给action,只要在action中提供相应的setXxx()方法就可以了。
      

  9.   

    1.jsp<s:iterator value="pageBean.list" id="p">
      <div>
          <img alt="pet image" src="<s:property value='#p.petimage'/>" />
      </div>
      Name :<s:property value="#p.petname" />
      Price:<s:property value="#p.petprice" />
      Account:<s:property value="#p.petnumber" />
      <s:url id="idCart" action="cart" namespace="cart所在命名空间">
         <s:param name="id" value="%{#p.id}">
         </s:param>
      </s:url>
      <s:a href="%{idCart}">Add to Cart</s:a>
    </s:iterator>2.actionprivate String id;id 有get/set方法。
      

  10.   

    在action里定义private int id;写下的set方法.在action里就可以直接调用了
      

  11.   

    struts2 非常容易实现,在action中定义常用的字段,提供getter()和setter()方法。注意命名的约定。jsp与action统一命名。