本帖最后由 shlcjlll 于 2011-02-23 19:14:42 编辑

解决方案 »

  1.   

    附页面<s:form action="UpdateAction.action" namespace="/Goods">
    <s:action name="GetGoodsAction" namespace="/Goods"/>
    <table border="0" class="showTable">
    <tr>
    <td>
    ID
    </td> <td>
    <s:hidden name="goods.gid" value="%{#request.goodsInfo.gid}" />
    <s:property value="%{#request.goodsInfo.gid}" />
    </td>
    </tr>
    <tr>
    <td>
    商品名称
    </td>
    <td>
    <s:textfield value="%{#request.goodsInfo.gname}"
    name="goods.gname" />
    </td>
    </tr>
    <tr>
    <td>
    商品类型
    </td>
    <td>
    <s:action name="GetGoodsTypeAction" namespace="/GoodsType" />
    <s:property value="%{#request.goodsInfo.goodsType.gtName}"/>
    <s:select list="#request.goodsTypeSelect" name="goods.goodsType"/>
    </td>
    </tr>
    <tr> <td>
    商品品牌
    </td>
    <td>
    <s:textfield name="goods.gbrand" value="%{#request.goodsInfo.gbrand}"/> </td>
    </tr>
    <tr>
    <td>
    所属商家
    </td>
    <td>
    <s:action name="GetBusinessAction" namespace="/Business"/>
    <s:property value="%{#request.goodsInfo.business.bname}"/>
    <s:select list="#request.businessSelect" name="goods.business"></s:select>
    </td>
    </tr>
    <tr>
    <td>
    原价
    </td>
    <td>
    <s:textfield name="goods.gpriceOld" size="8" value="%{#request.goodsInfo.gpriceOld}"/>
    </td>
    <td>
    状态
    </td>
    <td>
    <s:if test="#request.goodsInfo.gstate==1">
    <s:select list="#{1:'上架',0:'下架'}" name="goods.gstate"/>
    </s:if>
    <s:else>
    <s:select list="#{0:'下架',1:'上架'}" name="goods.gstate"/>
    </s:else>
    </td>
    </tr>
    <tr>
    <td>
    现价
    </td>
    <td>
    <s:textfield name="goods.gpriceNow" size="8" value="%{#request.goodsInfo.gpriceNow}"/>
    </td>
    <td>
    主页显示
    </td>
    <td>
    <s:if test="#request.goodsInfo.gindexShow==1">
    <s:select list="#{1:'是',2:'否'}" name="goods.gindexShow"/>
    </s:if>
    <s:else>
    <s:select list="#{2:'否',1:'是'}" name="goods.gindexShow"/>
    </s:else>
    </td>
    </tr>
    <tr>
    <td>
    上架时间
    </td>
    <td>
    <s:textfield name="goods.gstartTime" size="18" value="%{#request.goodsInfo.gstartTime}"/>
    </td>
    <td>
    虚拟购买次数
    </td>
    <td>
    <s:textfield name="goods.buyCount" size="4" value="%{#request.goodsInfo.buyCount}"/>
    </td>
    </tr>
    <tr>
    <td>
    下架时间
    </td>
    <td>
    <s:textfield name="goods.gendTime" size="18" value="%{#request.goodsInfo.gendTime}"/>
    </td>

    </tr>
    <tr>
    <td>
    描述
    </td>
    <td colspan="3">
    <s:textarea name="goods.gdescription" rows="5" cols="80" value="%{#request.goodsInfo.gdescription}"/>
    </td>
    </tr>
    <tr>
    </tr>
    <td>
    图片
    </td>
    <td colspan="3">
    <img src="<s:property value='%{#request.goodsInfo.gimagePath}'/>" alt="" />
    <s:textfield name="goods.gimagePath"  value="%{#request.goodsInfo.gimagePath}"/>

    </td>



    <tr>
    <table align="right">
    <tr>
    <td>
    <s:submit value="确认修改" type="submit"/>
    </td>
    <td>
    <input type="reset" value="取消修改" type="button" />
    </td>
    <td>
    <input type="button" onclick="javascript: history.back()"
    value="返回" />
    </td> </tr>
    </table> </tr> </table>
    </s:form>
      

  2.   

    配置文件里看看对于GoodsAction写没写错,尤其是完整的包+类名
    大小写区分,仔细检查下,估计是很单纯的miss
      

  3.   

    “此UpdateAction源于GoodsAction”--继承? override GoodsAction的方法?贴你的两个Action的源代码,外加action配置
      

  4.   

    这种问题,遇到最多是配置文件或者字段错了!
    检查struts.xml配置文件是否正确 
    一般注意 namespaces属性 method 属性和 action 节点的name 属性
    <package name="authority" extends="default" namespace="/authority" >
    <action name = "save" class="authorityAction" method = "save">
    不光是地址是否正确 有时候多一个空格也会让xml文件读取出现问题
      

  5.   

    先贴actionpublic class GoodsAction extends ActionSupport implements ServletRequestAware,ServletResponseAware,SessionAware {
    public void doUpdate() {
    goodsBiz.update(goods);
    try {
    response.sendRedirect("/EShop/ManagerPage/GoodsService.jsp");
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    //封装省略
    }action的配置:<package name="Goods" namespace="/Goods" extends="struts-default">
    <action name="GoodsAction" class="goodsAction" />
    <action name="BuyGoodsAction" class="goodsAction" method="doFindGoods">
    <result name="order">/JspPage/order.jsp</result>
    </action>
    <action name="AddGoodsAction" class="goodsAction" method="doAddGoods" />
    <action name="GetIndexGoods" class="goodsAction" method="doGetIndexGoods" />
    <action name="GoodsInfoAction" class="goodsAction" method="toGoodsInfo">
    <result name="order">/JspPage/order.jsp</result>
    </action>
    <action name="GetGoodsAllAction" class="goodsAction" method="doGetGoodsAll">
    </action>
    <action name="DeleteAction" class="goodsAction" method="doDelete"/>
    <action name="UpdateAction" class="goodsAction" method="doUpdate"/>
    <action name="GetGoodsAction" class="goodsAction" method="doGetGoods" />
    </package>spring对goodsAction的配置:(路径没问题)<bean name="goodsAction" class="com.action.GoodsAction">
    <property name="goodsBiz" ref="goodsBiz"/>
    </bean>
      

  6.   

    呵呵 终于想明白了  是select错了  下拉菜单我封装的个类 因为实体里的字段类型就是个类 是多对一的关系 但是到了页面就错了 只是输出的类名 所以update add就错误 到时整个Action出错可能我没说清楚  但是还要感谢大家!!!!!