哪位大哥帮忙看下  今天写了个例子  结果不进Action里面

解决方案 »

  1.   


    <bean id="pyAction" class="com.pinyin.action.PinYinAction">
    <property name="pinYinBiz" ref="pinYinBiz"></property>
    </bean>
    <bean id="pinYinBiz" class="com.pinyin.bizimp.PinYinBizImp">
    <property name="pinYinDao" ref="txtPinYin"></property>
    </bean>
    <bean id="txtPinYin" parent="txtTemplate">
    <property name="target" ref="pinYinDao"></property>
    </bean>
    <bean id="pinYinDao" class="com.pinyin.daoimp.PinYinDaoImp">
    <property name="sessionFactory" ref="sessionFactory"></property>
    </bean>
      

  2.   

    上面那个是ApplicationContext.xml里面的
      

  3.   

    package com.pinyin.action;import java.util.List;import javax.servlet.http.HttpServletRequest;import org.apache.struts2.interceptor.ServletRequestAware;import com.opensymphony.xwork2.ActionSupport;
    import com.pinyin.biz.PinYinBiz;
    import com.pinyin.dao.PinYinDao;
    import com.pinyin.dto.Pinyin;public class PinYinAction extends ActionSupport implements ServletRequestAware {
    private HttpServletRequest request;
    private PinYinBiz pinYinBiz;

    public void setRequest(HttpServletRequest request) {
    this.request = request;
    } public void setServletRequest(HttpServletRequest request) {
    this.request = request;
    }
    public String selectPDESC() {
    try {
    List<Pinyin> pYList = pinYinBiz.selectPDESC();
    request.setAttribute("pYList", pYList);
    } catch (Exception e) {
    e.printStackTrace();
    }
    return "select";
    }

    public String selectPASC() {
    try {
    List<Pinyin> pYList = pinYinBiz.selectPASC();
    request.setAttribute("pYList", pYList);
    } catch (Exception e) {
    e.printStackTrace();
    }
    return "select";
    } public void setPinYinBiz(PinYinBiz pinYinBiz) {
    this.pinYinBiz = pinYinBiz;
    }
    }
      

  4.   

    struts.xml中package的namespace没设置正确
      

  5.   

    不进action 你不贴struts配置文件 和页面访问的action的标签贴了堆没用的
      

  6.   

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"  "http://struts.apache.org/dtds/struts-2.1.dtd">
    <struts>
    <!-- spring提供的实现类, 作用:根据请求,到spring容器中寻找得到对应的Action -->
    <constant name="struts.objectFactory"
    value="org.apache.struts2.spring.StrutsSpringObjectFactory" /> <package name="testPinYin" extends="struts-default">
    <action name="pyAction" class="com.pinyin.action.PinYinAction">
    <result name="select">/index.jsp</result>
    <result name="input">/index.jsp</result>
    </action>
    </package>
    </struts>我根本就没有用namespace  以前也没有设置 也可以访问Action的
      

  7.   


    不是我不贴  而是我把applicationContext和源码贴完  不回帖就不能发了下面是页面代码
    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>拼音排序</title>
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
    <script type="text/javascript">
    function changeIMG(B){
    if(B == "a"){
    document.getElementById("img1").style.display= 'none';
    document.getElementById("img2").style.display= 'block';
    pinyin.action="pyAction!selectPDESC.action";
    pinyin.method="post";
    pinyin.submit();
    }
    if(B == "b"){
    document.getElementById("img1").style.display= 'block';
    document.getElementById("img2").style.display= 'none';
    pinyin.action="pyAction!selectPASC.action";
    pinyin.method="post";
    pinyin.submit();
    }
    }
    </script>
    </head> <body>
    <form id="pinyin">
    <table border="1">
    <tr>
    <td width="100" align="center">
    id
    </td>
    <td width="100" align="center">
    拼音
    </td>
    <td width="100" align="center">
    名字
    <span id="img1"> 
    <img src="images/123_1.jpg" onclick="changeIMG('a')">
    </span>
    <span id="img2" style="display: none;"> 
    <img src="images/123_2.jpg" onclick="changeIMG('b')"> 
    </span>
    </td>
    </tr>
    <c:forEach var="pList" items="${pYList}">
    <tr>
    <td>
    ${pList.id}
    </td>
    <td>
    ${pList.pinyin}
    </td>
    <td>
    ${pList.name}
    </td>
    </tr>
    </c:forEach>
    </table>
    </form>
    </body>
    </html>
      

  8.   

    struts.xml文件呢?
    ApplicationContext.xml是spring的配置文件 你要进action  要在struts.xml配置对应的action!
      

  9.   

    什么流程?  刚学不久  不是 页面→web.xml→ApplicationContext.xml→Struts.xml→Action→Struts.xml→页面 吗?
      

  10.   

      pinyin.action="pyAction!selectPDESC.action";
                    pinyin.method="post";
                    pinyin.submit();可以直接这么写?  不需要写得到form对象吗?
      

  11.   

    <package name="testPinYin" extends="struts-default"namespace="/" >
            <action name="pyAction" class="com.pinyin.action.PinYinAction">
                <result name="select">/index.jsp</result>
                <result name="input">/index.jsp</result>
            </action>    
        </package>
      

  12.   

    web.xml 下没有配置struts的配置文件,
      

  13.   

    是要得到form对象吧
    document.forms[0].action="pyAction!selectPASC.action";  //你自己的类方法 document.forms[0].submit();
      

  14.   


    如果路径不做更改的话   namespace可以省略掉的
      

  15.   


    可以直接用form的id直接去点的   不需要去找到对象
      

  16.   

    在struts.xml 配置 action ,在 applicationContext.xml 配置 service
      

  17.   


    开始加了Struts的配置文件 进不了  我clear了下  就进去了  为什么我前面做项目的时候也没有写 也一样进的去呢??  想请问下
      

  18.   

    document.pinyin.action="pyAction.action";
    document.pinyin.method="post";
    document.pinyin.submit();
    <form name="pinyin" >
      

  19.   


    给错分了 郁闷     你这样些  你就根本没有理解namespace的概念  看错了  把分丢你身上了  
      

  20.   

    ssh 你没有写strust 的配置文件可以找到action?? 这不是开玩笑了..