我做一个mvc框架查询数据库,是不是在dao里写查询数据库的方法,在action里调用再返回到jsp就行了,我这个怎么老出错啊?大家帮帮忙!我的YaoPinDaoImpl里面是这样的
          public Yaopin findYaopinByLeixing(Yaopin gongnengfenlei)
{
//查询药品按指定功能
List yaopinlist=getHibernateTemplate().find("from Yaopin u where u.gongnengfenlei=?",yaopinleixing);
if(yaopinlist!=null && yaopinlist.size()>=1)
{
return (Yaopin)yaopinlist.get(0);
}
return null;
}
在action里调用
public String execute()throws Exception{
yaopindao.findYaopinByLeixing(yaopinleixing);
return SUCCESS;

}
之后在struts.xml里是这样写的
<!-- 查询出yaopin按yaopinleixing (药品类型) -->
<action name="SelectByLeixing" class="auh.action.SelectByLeixingAction">
<result name="success">ok_tianjiayaopin.jsp</result>
</action>
在ok_tianjiayaopin.jsp里传参是这样的 <a href="SelectByLeixing.action?yaopinleixing=化学药品">化学药品</a>
这样没错吧 可访问不成功 报错 说struts.xml我写的那个action那行有错
请各位指点 谢谢

解决方案 »

  1.   

    <result name="success">ok_tianjiayaopin.jsp</result><result name="success">/ok_tianjiayaopin.jsp</result>可能是缺少个“/”  试试  不行的话把报错贴出来看看
      

  2.   

    还是这个错误
    No result defined for action auh.action.SelectByLeixingAction and result input - action - file:/D:/workspace/myweb/WebRoot/WEB-INF/classes/struts-select.xml:37:75
    com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:350)下面还有好多行
      

  3.   

    action可能也不是那样写吧  
      

  4.   

    如果是照上面说的。会报404 !如果是action路径问题!那么请求路径写错了就会这样!如果你jsp页面在webRoot下面路径这么写不会有问题。如果     是这样 WebRoot 
                        jsp 
                            *.jsp 路径就得写全。${pageContext.request.contextPath}/XX.action
      

  5.   

    我的Struts-xml<package name="root" namespace="/" extends="struts-default">
    <!-- 用户Action -->
    <action name="users_*" class="usersaction" method="{1}">
    <result name="index">/jsp/index.jsp</result>
    <result name="login">/login.jsp</result>
    </action>
    </package>
      

  6.   

    恩 路径没问题 因为别的action可以访问
      

  7.   

    哦 我看到了 public String execute()throws Exception{
    yaopindao.findYaopinByLeixing(yaopinleixing);
    return SUCCESS;
    }
    你不是传了一个“yaopinleixing”过来啊  ,在Action里边为什么没有接收它呢?
    得用一个变量接收它啊 然后再传到findYaopinByLeixing(yaopinleixing)这里边
    试试
      

  8.   


    public String execute()throws Exception{
    String yaopinleixing=request.getAttribute("yaopinleixing");
    yaopindao.findYaopinByLeixing(yaopinleixing);
    return SUCCESS;
    }
      

  9.   

    上边不是给你写了 public String execute()throws Exception{
    String yaopinleixing=request.getAttribute("yaopinleixing");
    yaopindao.findYaopinByLeixing(yaopinleixing);
    return SUCCESS;
    }
      

  10.   

    哦 上边错了  
    是这样public String execute()throws Exception{
    String yaopinleixing=request.getParameter("yaopinleixing");
    yaopindao.findYaopinByLeixing(yaopinleixing);
    return SUCCESS;
    }
      

  11.   

    哦 上边错了  
    是这样public String execute()throws Exception{
    String yaopinleixing=request.getParameter("yaopinleixing");
    yaopindao.findYaopinByLeixing(yaopinleixing);
    return SUCCESS;
    }
      

  12.   

    public String execute()throws Exception{
    String yaopinleixing=request.getAttribute("yaopinleixing");
    yaopindao.findYaopinByLeixing(yaopinleixing);
    return SUCCESS;

    }
    有错误 它说requeat can't be resoved
      findYaopinByLeixing not a application
      

  13.   

    我 改一下  我给错了 
    把在Action里边添加的那一句话 改成String yaopinleixing=request.getParameter("yaopinleixing");
      

  14.   

    啊 我晕 我死了算了 你连得什么数据库把源码发我邮箱吧 我看看
    [[email protected]][/email]
      

  15.   

    他让我把yaopinleixing改成String类型行吗
      

  16.   

    <a href="SelectByLeixing.action?yaopinleixing=化学药品">化学药品</a>我晕 你的yaopinleixing 不是String类型的吗 那你怎么传的是字符串
      

  17.   


    <a href="${pageContext.request.contextPath}/SelectByLeixing.action?yaopinleixing=化学药品">化学药品</a>
    试试
      

  18.   

    你的yaopinleixing 是Yaopin类型的