SSH框架报错找不到action,求大神指教

我是用

<a class="more" href="/stage/charge/ordershow.action">

跳转,但是报There is no Action mapped for action name ordershow.错,新手求指教

错误:

六月 06, 2016 11:32:02 上午 com.opensymphony.xwork2.util.logging.commons.CommonsLogger warn
警告: Could not find action or result
There is no Action mapped for action name ordershow. - [unknown location]
    at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:189)
    at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)
    at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
    at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)
    at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:475)
    at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
    at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:521)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1096)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:674)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:745)

strust.xml配置:

 <?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>
    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devModel" value="true" />
    <include file="json-default.xml" />
    <include file="struts-default.xml" />
    <package name="login" extends="json-default">

        <action name="ordershow" class="orderAction" method="show">
            <result name="show">/stage/order/order_info.jsp</result>
        </action>
        </package>
        <constant name="struts.i18n.encoding" value="UTF-8" />
    <constant name="struts.locale" value="zh_CN" />
    <constant name="struts.ui.theme" value="simple" />
    <constant name="struts.ui.templateDir" value="template" />
    <constant name="struts.ui.templateSuffix" value="ftl" />
</struts> 

web.xml:

 <?xml version="1.0" encoding="UTF-8" ?>
<web-app version="3.0" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
  <display-name></display-name> 
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>

  <filter>
    <filter-name>struts2</filter-name>
    <filter-class>
        org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
    </filter-class>
  </filter>
  <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
  <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>*.jsp</url-pattern>
  </filter-mapping>
  <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>*.action</url-pattern>
  </filter-mapping>
  <listener>
        <listener-class>
          org.springframework.web.context.ContextLoaderListener
        </listener-class>
    </listener>
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            classpath:/spring-*.xml
        </param-value>
    </context-param>

  </web-app>

jsp:

 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://"
            + request.getServerName() + ":" + request.getServerPort()
            + path + "/";
%>

<!DOCTYPE html>
<!--[if IE 8]> <html lang="en" class="ie8"> <![endif]-->
<!--[if IE 9]> <html lang="en" class="ie9"> <![endif]-->
<!--[if !IE]><!-->
<html lang="en">
<!--<![endif]-->
<!-- BEGIN HEAD -->
<head>
<meta charset="utf-8" />
<title>Ttuo-Hotel | 酒店管理系统</title>
<meta content="width=device-width, initial-scale=1.0" name="viewport" />
<meta content="" name="description" />
<meta content="" name="author" />
<link href="../assets/bootstrap/css/bootstrap.min.css" rel="stylesheet" />
<link href="../assets/css/metro.css" rel="stylesheet" />
<link href="../assets/bootstrap/css/bootstrap-responsive.min.css"
    rel="stylesheet" />
<link href="../assets/font-awesome/css/font-awesome.css"
    rel="stylesheet" />
<link
    href="../assets/fullcalendar/fullcalendar/bootstrap-fullcalendar.css"
    rel="stylesheet" />
<link href="../assets/css/main_style.css" rel="stylesheet" />
<link href="../assets/css/style_responsive.css" rel="stylesheet" />
<link href="../assets/css/style_default.css" rel="stylesheet"
    id="style_color" />
<link rel="stylesheet" type="text/css"
    href="../assets/chosen-bootstrap/chosen/chosen.css" />
<link rel="stylesheet" type="text/css"
    href="../assets/uniform/css/uniform.default.css" />
<link rel="shortcut icon" href="../favicon.ico" />
</head>
<!-- END HEAD -->
<!-- BEGIN BODY -->
<body class="fixed-top">
    <!-- BEGIN HEADER -->
    <div class="header navbar navbar-inverse navbar-fixed-top">
        <!-- BEGIN TOP NAVIGATION BAR -->
        <div class="navbar-inner">
            <div class="container-fluid">
                <!-- BEGIN LOGO -->
                <a class="brand" href="index.html"> <img
                    src="../assets/img/logo11.png" alt="logo" /> </a>
                <!-- END LOGO -->
                <!-- BEGIN RESPONSIVE MENU TOGGLER -->
                <a href="javascript:;" class="btn-navbar collapsed"
                    data-toggle="collapse" data-target=".nav-collapse"> <img
                    src="../assets/img/menu-toggler.png" alt="" /> </a>
                <!-- END RESPONSIVE MENU TOGGLER -->
                <!-- BEGIN TOP NAVIGATION MENU -->
                <ul class="nav pull-right">
                    <!-- BEGIN NOTIFICATION DROPDOWN -->
                    <li class="dropdown" id="header_notification_bar"><a href="#"
                        class="dropdown-toggle" data-toggle="dropdown"> <i
                            class="icon-warning-sign"></i> <span class="badge">6</span> </a>
                        <ul class="dropdown-menu extended notification">
                            <li>
                                <p>You have 14 new notifications</p>
                            </li>
                            <li><a href="javascript:;"
                                onclick=App.onNotificationClick(1);> <span
                                    class="label label-success"><i class="icon-plus"></i> </span>
                                    New user registered. <span class="time">Just now</span> </a>
                            </li>
                            <li><a href="#"> <span class="label label-important"><i
                                        class="icon-bolt"></i> </span> Server #12 overloaded. <span
                                    class="time">15 mins</span> </a>
                            </li>
                            <li><a href="#"> <span class="label label-warning"><i
                                        class="icon-bell"></i> </span> Server #2 not respoding. <span
                                    class="time">22 mins</span> </a>
                            </li>
                            <li><a href="#"> <span class="label label-info"><i
                                        class="icon-bullhorn"></i> </span> Application error. <span
                                    class="time">40 mins</span> </a>
                            </li>
                            <li><a href="#"> <span class="label label-important"><i
                                        class="icon-bolt"></i> </span> Database overloaded 68%. <span
                                    class="time">2 hrs</span> </a>
                            </li>
                            <li><a href="#"> <span class="label label-important"><i
                                        class="icon-bolt"></i> </span> 2 user IP blocked. <span class="time">5
                                        hrs</span> </a>
                            </li>
                            <li class="external"><a href="#">See all notifications <i
                                    class="m-icon-swapright"></i> </a>
                            </li>
                        </ul>
                    </li>
                    <!-- END NOTIFICATION DROPDOWN -->
                    <!-- BEGIN INBOX DROPDOWN -->
                    <li class="dropdown" id="header_inbox_bar"><a href="#"
                        class="dropdown-toggle" data-toggle="dropdown"> <i
                            class="icon-envelope-alt"></i> <span class="badge">5</span> </a>
                        <ul class="dropdown-menu extended inbox">
                            <li>
                                <p>You have 12 new messages</p>
                            </li>
                            <li><a href="#"> <span class="photo"><img
                                        src="../assets/img/avatar2.jpg" alt="" /> </span> <span
                                    class="subject"> <span class="from">Lisa Wong</span> <span
                                        class="time">Just Now</span> </span> <span class="message">
                                        Vivamus sed auctor nibh congue nibh. auctor nibh auctor
                                        nibh... </span> </a>
                            </li>
                            <li><a href="#"> <span class="photo"><img
                                        src="../assets/img/avatar3.jpg" alt="" /> </span> <span
                                    class="subject"> <span class="from">Richard Doe</span> <span
                                        class="time">16 mins</span> </span> <span class="message">
                                        Vivamus sed congue nibh auctor nibh congue nibh. auctor nibh
                                        auctor nibh... </span> </a>
                            </li>
                            <li><a href="#"> <span class="photo"><img
                                        src="../assets/img/avatar1.jpg" alt="" /> </span> <span
                                    class="subject"> <span class="from"></span> <span
                                        class="time">2 hrs</span> </span> <span class="message">
                                        Vivamus sed nibh auctor nibh congue nibh. auctor nibh auctor
                                        nibh... </span> </a>
                            </li>
                            <li class="external"><a href="#">See all messages <i
                                    class="m-icon-swapright"></i> </a>
                            </li>
                        </ul>
                    </li>
                    <!-- END INBOX DROPDOWN -->
                    <!-- BEGIN TODO DROPDOWN -->
                    <li class="dropdown" id="header_task_bar"><a href="#"
                        class="dropdown-toggle" data-toggle="dropdown"> <i
                            class="icon-tasks"></i> <span class="badge">5</span> </a>
                        <ul class="dropdown-menu extended tasks">
                            <li>
                                <p>You have 12 pending tasks</p>
                            </li>
                            <li><a href="#"> <span class="task"> <span
                                        class="desc">New release v1.2</span> <span class="percent">30%</span>
                                </span> <span class="progress progress-success "> <span
                                        style="width: 30%;" class="bar"></span> </span> </a>
                            </li>
                            <li><a href="#"> <span class="task"> <span
                                        class="desc">Application deployment</span> <span
                                        class="percent">65%</span> </span> <span
                                    class="progress progress-danger progress-striped active">
                                        <span style="width: 65%;" class="bar"></span> </span> </a>
                            </li>
                            <li><a href="#"> <span class="task"> <span
                                        class="desc">Mobile app release</span> <span class="percent">98%</span>
                                </span> <span class="progress progress-success"> <span
                                        style="width: 98%;" class="bar"></span> </span> </a>
                            </li>
                            <li><a href="#"> <span class="task"> <span
                                        class="desc">Database migration</span> <span class="percent">10%</span>
                                </span> <span class="progress progress-warning progress-striped">
                                        <span style="width: 10%;" class="bar"></span> </span> </a>
                            </li>
                            <li><a href="#"> <span class="task"> <span
                                        class="desc">Web server upgrade</span> <span class="percent">58%</span>
                                </span> <span class="progress progress-info"> <span
                                        style="width: 58%;" class="bar"></span> </span> </a>
                            </li>
                            <li><a href="#"> <span class="task"> <span
                                        class="desc">Mobile development</span> <span class="percent">85%</span>
                                </span> <span class="progress progress-success"> <span
                                        style="width: 85%;" class="bar"></span> </span> </a>
                            </li>
                            <li class="external"><a href="#">See all tasks <i
                                    class="m-icon-swapright"></i> </a>
                            </li>
                        </ul>
                    </li>
                    <!-- END TODO DROPDOWN -->
                    <!-- BEGIN USER LOGIN DROPDOWN -->
                    <li class="dropdown user"><a href="#" class="dropdown-toggle"
                        data-toggle="dropdown"> <img alt=""
                            src="../assets/img/avatar1_small.jpg" /> <span class="username"></span>
                            <i class="icon-angle-down"></i> </a>
                        <ul class="dropdown-menu">
                            <li><a href="extra_profile.html"><i class="icon-user"></i>
                                    我的信息</a>
                            </li>
                            <li><a href="calendar.html"><i class="icon-calendar"></i>
                                    我的日历</a>
                            </li>
                            <li><a href="#"><i class="icon-tasks"></i> 我的任务</a>
                            </li>
                            <li class="divider"></li>
                            <li><a href="hotel.jsp"><i class="icon-key"></i> 退出登录</a>
                            </li>
                        </ul>
                    </li>
                    <!-- END USER LOGIN DROPDOWN -->
                </ul>
                <!-- END TOP NAVIGATION MENU -->
            </div>
        </div>
        <!-- END TOP NAVIGATION BAR -->
    </div>
    <!-- END HEADER -->
    <!-- BEGIN CONTAINER -->
    <div class="page-container row-fluid">
        <!-- BEGIN SIDEBAR -->
        <div class="page-sidebar nav-collapse collapse">
            <!-- BEGIN SIDEBAR MENU -->
            <ul>
                <li>
                    <!-- BEGIN SIDEBAR TOGGLER BUTTON -->
                    <div class="sidebar-toggler hidden-phone"></div> <!-- BEGIN SIDEBAR TOGGLER BUTTON -->
                </li>
                <li>
                    <!-- BEGIN RESPONSIVE QUICK SEARCH FORM -->
                    <form class="sidebar-search">
                        <div class="input-box">
                            <a href="javascript:;" class="remove"></a> <input type="text"
                                placeholder="查询. . ." /> <input type="button" class="submit"
                                value=" " />
                        </div>
                    </form> <!-- END RESPONSIVE QUICK SEARCH FORM -->
                </li>
                <li class="has-sub ">
                    <a href="/hotel/index.jsp">
                    <i class="icon-home"></i> 
                    <span class="title">首页</span>
                    <span class="selected"></span>
                    </a>
                </li>
                <li class="start active">
                    <a href="/hotel/stage/stage.jsp">
                    <i class="icon-bookmark-empty"></i> 
                    <span class="title">前台</span>
                    <span class="arrow "></span>
                    </a>
                    <ul class="sub">
                        <li><a href="/hotel/stage/charge/charge_info.jsp">入住开单</a></li>
                        <li><a href="/hotel/jie">入住详情</a></li>
                        <li><a href="ordershow.action">预定开单</a></li>
                        <li><a href="/hotel/orderfood/food!food.action">订餐服务</a></li>
                        <li><a href="Vip.action">会员管理</a></li>
                    </ul>
                </li>
                <li class="has-sub ">
                    <a href="/hotel/restaurant/catering.jsp">
                    <i class="icon-th-list"></i> 
                    <span class="title">餐饮部</span>
                    <span class="arrow "></span>
                    </a>
                    <ul class="sub">
                        <li><a href="/hotel/restaurant/basic/basic.jsp">餐饮信息</a>
                        </li>
                        <li><a href="/hotel/restaurant/enter/enter!show.action">采购入库</a>
                        </li>
                        <li><a href="/hotel/restaurant/stock/stock.jsp">库存盘点</a>
                        </li>
                        <li><a href="/hotel/restaurant/purchase/purchase!show.action">取材出库</a>
                        </li>
                    </ul>
                </li>
                <li class="has-sub ">
                    <a href="/hotel/room/room.jsp">
                    <i class="icon-star-empty"></i> 
                    <span class="title">客房部</span>
                    <span class="arrow "></span>
                    </a>
                    <ul class="sub">
                        <li><a href="/hotel/room/basic/basic.jsp">基本设置</a>
                        </li>
                        <li><a href="/hotel/room/roommanage/roommanage.jsp">客房管理</a>
                        </li>
                        <li><a href="/hotel/room/damage/damage!show.action">损坏设备统计</a>
                        </li>
                    </ul>
                </li>
                <li class="has-sub ">
                    <a href="javascript:;">
                    <i class="icon-table"></i> 
                    <span class="title">统计</span>
                    <span class="arrow "></span>
                    </a>
                    <ul class="sub">
                        <li ><a href="statistic/room_pie.jsp">房间总体情况</a></li>
                        <li ><a href="statistic/room_stack.jsp">各类型房间情况</a></li>
                    </ul>
                </li>
                <li class="has-sub ">
                    <a href="javascript:;">
                    <i class="icon-briefcase"></i> 
                    <span class="title">部门档案</span>
                    <span class="arrow "></span>
                    </a>
                    <ul class="sub">
                        <li ><a href="department/deptc!show.action">部门分类</a></li>
                        <li ><a href="department/dept!show.action">部门信息</a></li>
                        <li ><a href="department/staff!show.action">人员档案</a></li>
                    </ul>
                </li>
                <li class="has-sub ">
                    <a href="javascript:;">
                    <i class="icon-map-marker"></i> 
                    <span class="title">地图</span>
                    <span class="arrow "></span>
                    </a>
                    <ul class="sub">
                        <li><a></a></li>
                    </ul>
                </li>
                <li class="has-sub ">
                    <a href="javascript:;">
                    <i class="icon-map-marker"></i> 
                    <span class="title">公告</span>
                    <span class="arrow "></span>
                    </a>
                    <ul class="sub">
                        <li><a></a></li>
                    </ul>
                </li>               <li class="has-sub ">
                    <a href="javascript:;">
                    <i class="icon-briefcase"></i> 
                    <span class="title">其他</span>
                    <span class="arrow "></span>
                    </a>
                    <ul class="sub">
                        <li><a href="profile/profile.jsp">我的信息</a></li>

                        <li><a href="profile/calendar.jsp">我的日程</a></li>
                        <li><a>我的任务</a></li>
                    </ul>
                </li>
                <li class="">
                    <a href="hotel.jsp">
                    <i class="icon-user"></i> 
                    <span class="title">退出登陆</span>
                    </a>
                </li>
            </ul>
            <!-- END SIDEBAR MENU -->
        </div>
        <!-- END SIDEBAR -->
        <div class="page-content">
            <!-- BEGIN PAGE CONTAINER-->
            <div class="container-fluid">
                <!-- BEGIN PAGE HEADER-->
                <div class="row-fluid">
                    <div class="span12">
                        <!-- BEGIN STYLE CUSTOMIZER -->
                        <div class="color-panel hidden-phone">
                            <div class="color-mode-icons icon-color"></div>
                            <div class="color-mode-icons icon-color-close"></div>
                            <br>
                            <div class="color-mode">
                                <p>主题 颜色</p>
                                <ul class="inline">
                                    <li class="color-black current color-default"
                                        data-style="default"></li>
                                    <li class="color-blue" data-style="blue"></li>
                                    <li class="color-brown" data-style="brown"></li>
                                    <li class="color-purple" data-style="purple"></li>
                                    <li class="color-white color-light" data-style="light"></li>
                                </ul>
                                <label class="hidden-phone"> <input type="checkbox"
                                    class="header" checked value="" /> <span
                                    class="color-mode-label">固定标题</span> </label>
                            </div>
                        </div>
                        <!-- END BEGIN STYLE CUSTOMIZER -->
                        <!-- BEGIN PAGE TITLE & BREADCRUMB-->
                        <h3 class="page-title">
                            前台<small>请选择内容进行操作:</small>
                        </h3>
                        <ul class="breadcrumb">
                            <li><i class="icon-home"></i> <a href="/hotel/index.jsp">首页</a>
                                <i class="icon-angle-right"></i>
                            </li>
                            <li><a href="javascript:;">前台</a>
                            </li>
                        </ul>
                        <!-- END PAGE TITLE & BREADCRUMB-->
                    </div>
                </div>
                <!-- END PAGE HEADER-->
                <!-- BEGIN PAGE CONTENT-->
                <div class="row-fluid">
                    <div class="span12">
                        <div id="dashboard">
                            <!-- BEGIN DASHBOARD STATS -->
                            <div class="row-fluid">
                                <div class="span2 responsive" data-tablet="span6"
                                    data-desktop="span2">
                                    <div class="dashboard-stat yellow">
                                        <div class="visual">
                                            <img src="../assets/img/icon/resize_png_new4.png">
                                        </div>
                                        <div class="details">
                                            <div class="number">入住开单</div>
                                            <div class="desc"></div>
                                        </div>
                                        <a class="more" href="/hotel/stage/charge/charge_info.jsp"> 点击浏览更多 <i
                                            class="m-icon-swapright m-icon-white"></i> </a>
                                    </div>
                                </div>
                                <div class="span2 responsive" data-tablet="span6"
                                    data-desktop="span2">
                                    <div class="dashboard-stat green">
                                        <div class="visual">
                                            <img src="../assets/img/icon/33216.png">
                                        </div>
                                        <div class="details">
                                            <div class="number">入住详情</div>
                                            <div class="desc"></div>
                                        </div>
                                        <a class="more" href="/hotel/jie">
                                            点击浏览更多 <i class="m-icon-swapright m-icon-white"></i> </a>
                                    </div>
                                </div>
                                <div class="span2 responsive" data-tablet="span6  fix-offset"
                                    data-desktop="span2">
                                    <div class="dashboard-stat purple">
                                        <div class="visual">
                                            <img src="../assets/img/icon/resize_png_new7.png">
                                        </div>
                                        <div class="details">
                                            <div class="number">预定开单</div>
                                            <div class="desc"></div>
                                        </div>
                                        <a class="more" href="/stage/charge/ordershow.action">
                                            点击浏览更多 <i class="m-icon-swapright m-icon-white"></i> </a>
                                    </div>
                                </div>
                                <div class="span2 responsive" data-tablet="span6  fix-offset"
                                    data-desktop="span2">
                                    <div class="dashboard-stat green">
                                        <div class="visual">
                                            <img src="../assets/img/icon/548346.png">
                                        </div>
                                        <div class="details">
                                            <div class="number">订餐服务</div>
                                            <div class="desc"></div>
                                        </div>
                                        <a class="more" href="/hotel/orderfood/food!food.action">
                                            点击浏览更多 <i class="m-icon-swapright m-icon-white"></i> </a>
                                    </div>
                                </div>
                                <div class="span2 responsive" data-tablet="span6  fix-offset"
                                    data-desktop="span2">
                                    <div class="dashboard-stat yellow">
                                        <div class="visual">
                                            <img src="../assets/img/icon/resize_png_new6.png">
                                        </div>
                                        <div class="details">
                                            <div class="number">会员管理</div>
                                            <div class="desc"></div>
                                        </div>
                                        <a class="more" href="Vip.action">
                                            点击浏览更多 <i class="m-icon-swapright m-icon-white"></i> </a>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <!-- END DASHBOARD STATS -->

                    </div>
                </div>
            </div>
            <!-- END PAGE CONTENT-->
        </div>
        <!-- END PAGE CONTAINER-->
    </div>
    <!-- END PAGE -->
    <!-- BEGIN FOOTER -->
    <div class="footer">
        2014 &copy; Ttuo-Hotel | by ToTeam
        <div class="span pull-right">
            <span class="go-top"><i class="icon-angle-up"></i> </span>
        </div>
    </div>
    <!-- END FOOTER -->
    <!-- BEGIN JAVASCRIPTS -->
    <!-- Load javascripts at bottom, this will reduce page load time -->
    <script src="../assets/js/jquery-1.8.3.min.js"></script>
    <script src="../assets/breakpoints/breakpoints.js"></script>
    <script src="../assets/jquery-slimscroll/jquery-ui-1.9.2.custom.min.js"></script>
    <script src="../assets/bootstrap/js/bootstrap.min.js"></script>
    <script src="../assets/js/jquery.blockui.js"></script>
    <script src="../assets/js/jquery.cookie.js"></script>
    <script src="../assets/fullcalendar/fullcalendar/fullcalendar.min.js"></script>
    <script type="text/javascript"
        src="../assets/uniform/jquery.uniform.min.js"></script>
    <script type="text/javascript"
        src="../assets/chosen-bootstrap/chosen/chosen.jquery.min.js"></script>
    <!-- ie8 fixes -->
    <!--[if lt IE 9]>
    <script src="assets/js/excanvas.js"></script>
    <script src="assets/js/respond.js"></script>
    <![endif]-->
    <script src="../assets/js/app.js"></script>
    <script>
        jQuery(document).ready(function() {
            // initiate layout and plugins
            App.setPage('calendar');
            App.init();
        });
    </script>
    <!-- END JAVASCRIPTS -->
</body>
<!-- END BODY -->
</html>


java文件:

 package com.hotel.action.stage;

import java.util.ArrayList;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

import com.hotel.entity.stage.Orderlist;
import com.hotel.entity.stage.RoomAll;
import com.hotel.service.stage.OrderService;
import com.hotel.utils.Encode;
import com.opensymphony.xwork2.ActionSupport;

@Controller("orderAction")
@Scope("prototype")
public class OrderAction extends ActionSupport {

    @Autowired
    @Qualifier("orderService")
    private OrderService os;
    private Orderlist orderlist = new Orderlist();
    private ArrayList<Orderlist> list1 = new ArrayList<Orderlist>();
    ArrayList<RoomAll> list2 = new ArrayList<RoomAll>();

    private String idds;
    private int id;
    private String number;

    public String save() {
        orderlist.setName(Encode.toutf8(orderlist.getName()));
        os.save(orderlist, idds);
        return "order1";
    }

    public String show() {
        list1 = os.show();
        return "show";
    }

    public String getone() {
        list2 = os.getone(number);
        return "get1";
    }

    public String getNumber() {
        return number;
    }

    public void setNumber(String number) {
        this.number = number;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public Orderlist getOrderlist() {
        return orderlist;
    }

    public ArrayList<Orderlist> getList1() {
        return list1;
    }

    public void setList1(ArrayList<Orderlist> list1) {
        this.list1 = list1;
    }

    public void setOrderlist(Orderlist orderlist) {
        this.orderlist = orderlist;
    }

    public String getIdds() {
        return idds;
    }

    public void setIdds(String idds) {
        this.idds = idds;
    }

    public ArrayList<RoomAll> getList2() {
        return list2;
    }

    public void setList2(ArrayList<RoomAll> list2) {
        this.list2 = list2;
    }
}

程序结构:

图片说明

jsp文件位置:
图片说明

jar包:
图片说明
图片说明

4个回答

struts.xml 里面

 <action name="ordershow" class="orderAction" method="show">
            <result name="show">/stage/order/order_info.jsp</result>
    </action>

这里class索引的action路径不对吧,你那么多文件结构,需要使用完整的路径。
想来应该是 class =“com.hotel.action.stage.OrderAction”
还有,result="show"。。。。对不?我也不知道=-=

href="/hotel/orderfood/food!food.action"
你这个food!food.action 在 strust.xml中都没有配置,肯定没有找到了。
换这个试一下:action name="food!food" class="orderAction" method="show" ,calss属性值要具体到文件路径

现在所有的action都访问办不到,无论是class =“com.hotel.action.stage.OrderAction”还是spring配置的controller("orderAction"),都不行,我把struts.xml贴出来

 <?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>
    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devModel" value="true" />
    <include file="json-default.xml" />
    <include file="struts-default.xml" />
    <package name="login" extends="json-default">

        <action name="ordershow" class="orderAction" method="show">
            <result name="show">/stage/order/order_info.jsp</result>
        </action>
        <action name="user" class="com.hotel.action.login.LoginAction">
            <result name="register">hotel.jsp</result>
            <result name="loginfalse">hotel.jsp</result>
            <result name="logintrue">index.jsp</result>
        </action>
        <action name="room" class="com.hotel.action.stage.RoomtypeAction"
            method="show">
            <result name="show">/stage/home/home_classify.jsp</result>
        </action>
        <action name="jie" class="com.hotel.action.stage.ChargeAction"
            method="show">
            <result name="cha2">/stage/charge/charge_room.jsp</result>
        </action>
        <action name="*_*" class="com.hotel.action.stage.{1}Action"
            method="{2}">
            <result name="addmoney1" type="chain">Vip</result>
            <result name="get1">/stage/order/order_one.jsp</result>
            <result name="order1" type="chain">ordershow</result>
            <result name="zhao" type="chain">jie</result>
            <result name="cha2">/stage/charge/charge_room.jsp</result>
            <result name="jiewangzi">/stage/charge/charge_jiezhang.jsp</result>
            <result name="cc">/stage/order/order_info.jsp</result>
            <result name="b" type="chain">room</result>
            <result name="gggg" type="chain">room</result>
            <result name="c" type="chain">room</result>
            <result name="{2}">/stage/vip/{1}_{2}.jsp</result>
            <result name="add" type="chain">Vip</result>
            <result name="delete" type="chain">Vip</result>
            <result name="update" type="chain">Vip</result>
        </action>



        <action name="roomshow" class="com.hotel.action.stage.RoomAction"
            method="show">
            <result name="cc" type="json">
                <param name="root">jsonArray</param>
            </result>
        </action>

        <action name="Vip" class="com.hotel.action.stage.VipAction"
            method="query">
            <result name="query">/stage/vip/Vip_add.jsp</result>
        </action>
    </package>

    <package name="dept" extends="struts-default">
        <action name="deptc" class="com.hotel.action.dept.DeptcAction">
            <result name="show">dept_classify.jsp</result>
        </action>
        <action name="dept" class="com.hotel.action.dept.DeptAction">
            <result name="show">/department/dept_info.jsp</result>
        </action>
        <action name="staff" class="com.hotel.action.dept.StaffAction">
            <result name="show">/department/staff_info.jsp</result>
            <result name="one">/department/staff_one.jsp</result>
            <result name="info">/profile/profile.jsp</result>
        </action>
    </package>

    <package name="facilitytype" extends="struts-default">
        <action name="facilitytype" class="com.hotel.action.room.FacilityTypeAction">
            <result name="show">facilitytype.jsp</result>
        </action>
        <action name="facility" class="com.hotel.action.room.FacilityAction">
            <result name="success">/room/basic/facility.jsp</result>
        </action>
    </package>

    <package name="servicetype" extends="struts-default">
        <action name="servicetype" class="com.hotel.action.room.ServicetypeAction">
            <result name="show">servicetype.jsp</result>
        </action>
    </package>

    <package name="service" extends="struts-default">
        <action name="service" class="com.hotel.action.room.ServiceAction">
            <result name="show">/room/roommanage/service.jsp</result>
        </action>
    </package>

    <package name="roomtype" extends="struts-default">
        <action name="roomtype" class="com.hotel.action.room.RoomtypeAction">
            <result name="show">roomtype.jsp</result>
        </action>
    </package>

    <package name="equipment" extends="struts-default">
        <action name="equipment" class="com.hotel.action.room.EquipmentAction">
            <result name="Yeah" type="chain">fa</result>
        </action>
        <action name="fa" class="com.hotel.action.room.FacilityAction"
            method="showFacilityt">
            <result name="success">/room/roommanage/equipment_add.jsp</result>
        </action>
    </package>

    <package name="damage" extends="struts-default">
        <action name="damage" class="com.hotel.action.room.DamageAction">
            <result name="info">/room/damage/damage_info.jsp</result>
            <result name="good" type="chain">faci</result>
        </action>
        <action name="faci" class="com.hotel.action.room.FacilityAction"
            method="showFacilityt">
            <result name="success">/room/damage/damage.jsp</result>
        </action>
    </package>

    <package name="foodtype" extends="struts-default">
        <action name="foodtype" class="com.hotel.action.food.FoodTypeAction">
            <result name="show">foodtype.jsp</result>
        </action>
        <action name="food" class="com.hotel.action.food.FoodAction">
            <result name="success">/restaurant/basic/food.jsp</result>
            <result name="orderfood">/orderfood/orderfood.jsp</result>
            <result name="orderone">/orderfood/orderone.jsp</result>
        </action>
    </package>

    <package name="dishtype" extends="struts-default">
        <action name="dishtype" class="com.hotel.action.food.DishtypeAction">
            <result name="show">dishtype.jsp</result>
        </action>
    </package>

    <package name="dish" extends="struts-default">
        <action name="dish" class="com.hotel.action.food.DishAction">
            <result name="show">/restaurant/basic/dish.jsp</result>
        </action>
    </package>

    <package name="starea" extends="struts-default">
        <action name="starea" class="com.hotel.action.starea.StareaAction">
            <result name="show">starea.jsp</result>
        </action>
    </package>

    <package name="enter" extends="struts-default">
        <action name="enter" class="com.hotel.action.starea.EnterAction">
            <result name="xiangqing">/restaurant/enter/enter_info.jsp</result>
            <result name="get" type="chain">
                dishget
                <!-- 多对多action的转换<param name="actionName">dish</param> <param name="method">show</param> -->
            </result>
            <result name="starea_map">enter.jsp</result>
        </action>
        <action name="dishget" class="com.hotel.action.food.DishAction"
            method="show">
            <result name="show">/restaurant/enter/enter.jsp</result>
        </action>
    </package>

    <package name="purchase" extends="struts-default">
        <action name="purchase" class="com.hotel.action.starea.PurchaseAction">
            <result name="xiangqing">/restaurant/purchase/purchase_info.jsp</result>
            <result name="ss" type="chain">stockget</result>
        </action>
        <action name="stockget" class="com.hotel.action.stock.StockAction"
            method="show">
            <result name="show">/restaurant/purchase/purchase.jsp</result>
        </action>
    </package>

    <package name="stock" extends="struts-default">
        <action name="stock" class="com.hotel.action.stock.StockAction">
            <result name="show">stock.jsp</result>
        </action>
    </package>

    <package name="statistic" extends="struts-default">
        <action name="stat" class="com.hotel.action.stat.StatAction">
            <result name="total">/statistic/room_pie.jsp</result>
            <result name="apart">/statistic/room_stack.jsp</result>
        </action>
    </package>
    <package name="message" extends="struts-default">
        <action name="message" class="com.hotel.action.other.MessageAction">
            <result name="show">/other/message.jsp</result>
        </action>
    </package>
    <constant name="struts.i18n.encoding" value="UTF-8" />
    <constant name="struts.locale" value="zh_CN" />
    <constant name="struts.ui.theme" value="simple" />
    <constant name="struts.ui.templateDir" value="template" />
    <constant name="struts.ui.templateSuffix" value="ftl" />
</struts>    

我也发生这个情况,之前ssm项目还正常使用,放几天就坏了报500找不到Action,原因是eclipse
,你使用spring定制版eclipse吧,和eclipse一样,修复了很多bug,你重新创建一个项目,把代码粘进去,就好了
https://spring.io/tools3/sts/legacy STS各种版本

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
a标签的href填上action的url运行总是报错,求大神指教

这是jsp页面的代码![图片说明](https://img-ask.csdn.net/upload/201606/26/1466938897_31353.png) 这是网页报错信息![图片说明](https://img-ask.csdn.net/upload/201606/26/1466938922_941646.png) 我在js里面,用ajax时,可以正常访问

初学者关于SSH学习中遇到的问题,action内的方法只有list能够成功调用,别的都失败,求指教

http://pan.baidu.com/s/1b9TTEY,这里面放的就是我的程序,以及对应的数据库表,求大神指教。

SSH整合问题Unable to instantiate Action

问题:Unable to instantiate Action, userAction, defined for 'user-userLogin' in namespace ''userAction 不知道哪里问题,网上的方法试了好多遍,都没解决,客户端只能停留在登录界面,无法登录成功,无法访问服务器,求大神指教 Struts.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <constant name="struts.enable.DynamicMethodInvocation" value="false" /> <constant name="struts.devMode" value="true" /> <constant name="struts.i18n.encoding" value="utf-8" /> <package name="app" extends="struts-default"> <action name="*-*" class="{1}Action" method="{2}"> </action> </package> </struts> beans.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"> <context:annotation-config/> <context:component-scan base-package="com.it" /> <!-- <tx:annotation-driven transaction-manager="txManager"/> --> <!-- <bean id="userService" class="com.lgx.service.UserService"> </bean> --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/> <property name="url" value="jdbc:sqlserver://localhost:1433;DatabaseName=intelligent_tutoring"/> <property name="username" value="sa"/> <property name="password" value="1234"/> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="packagesToScan"> <list> <value>com.it.bean</value> </list> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect"> org.hibernate.dialect.SQLServer2008Dialect </prop> <prop key="hibernate.show_sql">true</prop> <prop key="javax.persistence.validation.mode">none</prop> <prop key="hibernate.hbm2ddl.auto">update</prop> </props> </property> </bean> <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory"/> </bean> <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate"> <property name="sessionFactory" ref="sessionFactory"/> </bean> <tx:advice id="txAdvice" transaction-manager="txManager"> <tx:attributes> <!-- <tx:method name="get*" read-only="true"/> --> <tx:method name="*"/> </tx:attributes> </tx:advice> <aop:config> <aop:pointcut id="serviceOperation" expression="execution(public * com.it.service..*.*(..))"/> <aop:advisor advice-ref="txAdvice" pointcut-ref="serviceOperation"/> </aop:config> </beans>

JAVAd 大神请指教,小弟这先感谢了

我是JAVA菜鸟,技术是SSH+JSP。目前新进一个公司,用的应该是SpringMVC +ftl模板,他们用的技术不是form表单,据说用的啥配置,比如ftl名字是user_register,ftl,访问地址是:localhost:8080/test/user!toRegister.action.那么在UserAction里面就有一个方法,返回“register",另外用的是泛型类,比如public class BaseService<T,PK extends Serializable>.实体类用的是注解,都不用在hibernate里配置了,据说直接映射到数据库??啊,我不懂啊,谁 有一套完整的相关的学习资料,感激不尽。 先说一下我会的技术,我之前用的是form提交,然后在action里处理,在struts里根据返回的字符串处理跳转,传递数据也不是用的泛型类,比如action传递到biz层,直接调用方法传递一个对象,在biz层通过形参接收;用的是Hibernate.cfg.xml和class.hbm.xml,这技术跟他们差好远啊,他们都说这些直接在配置文件里面配置的。。。谁能懂我差的是什么吗?给套完整的学习视频呀

2个jsp,内容一样,所在位置也一样,通过一个访问另一个,为什么会出现不同的样式

通过mvc发布的一个响应,webroot下有个文件夹,2个jsp文件,内容完全一样,但是名称不一样,一个叫a.jsp,一个b.jsp; 通过ssh的action访问到a.jsp,a.jsp中有个超链接<a>,链接到b.jsp.访问a.jsp完全正常(指的是样式),通过a里面的超链接访问b的时候,b里面的样式完全不见,请各位大神给分析下,我猜是路径问题,但是里面的css引入文件,我是用的绝对路径啊,就是${pageContext.request.contextPath}.请各位大神指教!

JSP搜索联想框,新手求指教。

不是用的SSH框架,DAO用JDBC,项目赶工,DAO和Service整合在了一起,我是半路插入的~各位大神先别吐槽……咱先把问题解决再美化~谢谢 页面结构如下 ``` <input name="accountName" id="accountName" class="yhgl_ser required inputElem" onkeyup="getLinkData();" value="<%StringHelper.filterHTML(out, request.getParameter("accountName"));%>" /> <div id="popup" style="position: absolute;"> <table width="100%" bgcolor="#fffafa"> <tbody id="popupBody"></tbody> </table> </div> ``` JS代码如下(借鉴了很多网上的JS方法) ``` <script type="text/javascript"> function getLinkData() { var popupDiv = document.getElementById("info");//获得对应的div对象 var popupBody = document.getElementById("popupBody");//获得对应的tbody对象 var linkDataProperty = document.getElementById("accountName"); //获得对应的输入框对象 clearModels();//清除联想输入提示框的内容 //利用ajax获取后台的模糊查询的数据,并且封装成下拉列表的形式展现出来 $.ajax({ type : "post",//提交的方法为post //对应的Action提交的路径 url : "<%configureProvider.format(out, URLVariable.SEARCH_ACCOUNT);%>", data:{linkDataProperty:linkDataProperty.value},//从前台传递到后台的查询语句的参数 dataType : "json", //从Action中返回的数据的类型为json类型的 error:function(){ alert("没有对应的数据,请查看输入的查询条件!"); }, success : function(data) {//当Ajax提交成功时调用的方法 if(data.length==0){return;} setOffsets();//设置联想输入下拉列表提示框的位置 var tr,td,text; for (var i = 0; i < data.length; i++) {//根据返回的值,手动的拼tbody的内容 text = document.createTextNode(data[i].linkDataProperty);//从Action中返回的数据中取出linkDataProperty的值 td = document.createElement("td");//创建一个td的对象 tr = document.createElement("tr");//创建一个tr的对象 td.mouseOver = function(){this.className="mouseOver;"}; td.mouseOut = function(){this.className="mouseOut;"}; td.onclick = function(){populateModel(this)};//单击td是的方法为populateModel td.appendChild(text); tr.appendChild(td); popupBody.appendChild(tr); } }}); //点击下拉列表中的某个选项时调用的方法 function populateModel(cell) { clearSelect(); linkDataProperty.value = cell.firstChild.nodeValue; //initOtherData(linkDataProperty.value);利用输入框中的数据调用其他方法,初始化其他数据 clearModels();//清除自动完成行 } //清除自动完成行,只要tbody有子节点就删除掉,并且将将外围的div的边框属性设置为不可见的 function clearModels() { while (popupBody.childNodes.length > 0) { popupBody.removeChild(popupBody.firstChild); } popupDiv.style.border = "none"; } //设置下拉列表的位置和样式 function setOffsets() { var width = linkDataProperty.offsetWidth;//获取linkDataProperty输入框的相对宽度 var left = getLeft(linkDataProperty); var top = getTop(linkDataProperty) + linkDataProperty.offsetHeight; popupDiv.style.border = "black 1px solid"; popupDiv.style.left = left + "px"; popupDiv.style.top = top + "px"; popupDiv.style.width = width + "px"; } //获取指定元素在页面中的宽度起始位置 function getLeft(e) { var offset = e.offsetLeft; if (e.offsetParent != null) { offset += getLeft(e.offsetParent); } return offset; } //获取指定元素在页面中的高度起始位置 function getTop(e) { var offset = e.offsetTop; if (e.offsetParent != null) { offset += getTop(e.offsetParent); } return offset; } } //清空输入框中的数据 function clearSelect() { var linkDataProperty=document.getElementById(linkDataProperty); linkDataProperty.value=""; } </script> ``` Servlet代码如下 ``` protected void processPost(HttpServletRequest request, HttpServletResponse response, ServiceSession serviceSession) throws Throwable { //往后传数据 System.out.println("进入servlet,将传入后台:"+request.getParameter("accountName")); //获得DAO服务 ZhglManage manage = serviceSession.getService(ZhglManage.class); //获得前台数据并往后台发送,同时接收返回的结果 String accounts = manage.searchAccountInOneResult(request.getParameter("accountName")); //往前端发送 PrintWriter out = response.getWriter(); System.out.println("返回servlet,即将返回获得的结果:"+accounts+" 给页面"); out.print(accounts); out.close(); } ``` DAO加Service代码如下: ``` public String searchAccountInOneResult(String inputing) throws Throwable { //尝试了Gson但也没成功 Gson gson = new Gson(); System.out.println("进入DAO,传入的参数是:"+inputing); //map方式 Map<String, String> rsMap = new HashMap<String,String>(); String account = ""; String key = ""; //获得连接 Connection conn = getConnection(); //准备SQL语句,获得单列账号信息 String sql = "SELECT @ROW := @ROW +1 AS ROW , t.F02 AS accountName FROM S61.T6110 t, ( SELECT @ROW :=0 )r WHERE t.F02 LIKE '"+inputing+"%' LIMIT 10"; PreparedStatement pstm = conn.prepareStatement(sql); //执行SQL ResultSet rs = pstm.executeQuery(); //获得结果 while(rs.next()){ //map方式 key = rs.getString("accountName"); account = rs.getString("accountName"); rsMap.put(key, account); } String temp = gson.toJson(rsMap); System.out.println("正在打印gson:"+temp); return temp; } ``` 然后控制台是这样的 进入servlet,将传入后台:1 进入DAO,传入的参数是:1 正在打印gson:{"12342@qq.com":"12342@qq.com","12344@qq.com":"12344@qq.com","100@qq.com":"100@qq.com"} 返回servlet,即将返回获得的结果:{"12342@qq.com":"12342@qq.com","12344@qq.com":"12344@qq.com","100@qq.com":"100@qq.com"} 给页面 firefox控制台和页面效果是这样的 ![图片说明](https://img-ask.csdn.net/upload/201505/18/1431943341_591979.png) 我对JS什么的不怎么懂,来请教下各位我哪里有问题,解决方法或者说解决思路应该是怎样的

关于spring整合struts的问题

我applicationContext中的配置和action里面的内容如下: <bean id="productDao" class="com.store.daoImpl.ProductDaoImpl"> <property name="sessionFactory" ref="sessionFactory"/> </bean> <bean id="productService" class="com.store.serviceImpl.ProductServiceImpl"> <property name="pdao" ref="productDao"/> </bean > <bean name="allproductAction" class="com.store.action.AllProductAction" scope="prototype"> <property name="pservice" ref="productService"/> </bean> public class AllProductAction extends ActionSupport{ private ProductService pservice; private List<Product> product; private int productID; public ProductService getPservice() { return pservice; } public void setPservice(ProductService pservice) { this.pservice = pservice; } public List<Product> getCommodity() { return product; } public void setCommodity(List<Product> product) { this.product = product; } public int getproductID() { return productID; } public void setproductID(int productID) { this.productID = productID; } public String execute() throws Exception { product = pservice.findAll(); return SUCCESS; } } 为什么我运行之后会提示一下错误: 严重: Could not open template org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'allproductAction' defined in ServletContext resource [/WEB-INF/applicationContext-actions.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'pservice' of bean class [com.store.action.AllProductAction]: Bean property 'pservice' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter? 求大神指教啊!

为什么我的表单只提交最后一个值

小弟最近刚学SSH开发在协议个登录界面的时候不知道为什么表单只提交最后的password其他的值并不进行传值: 这是等录界面代码: [code="html"]<body> <s:form action="login" method="post" namespace="/userAction"> <s:textfield name="user.username" label="用户名" size="20"></s:textfield> <s:password name="user.userpassword" label="密码" size="20"></s:password> <s:submit value="登录"></s:submit> </s:form> </body>[/code] Action的代码: [code="java"] public class UserAction extends ActionSupport { /** * */ private static final long serialVersionUID = 1L; private TUser user; private TUserDao userDao; public TUser getUser() { return user; } public void setUser(TUser user) { this.user = user; } public TUserDao getUserDao() { return userDao; } public void setUserDao(TUserDao userDao) { this.userDao = userDao; } // 用户登录 public String login() { TUser tu = userDao.checkLogin(user); //打印取到的值 System.out.println(user.getUsername() + "-----" + user.getUserpassword()); if (tu != null) { // 把数据添加到Session Map<String, Object> session = ActionContext.getContext().getSession(); session.put("user", tu); return SUCCESS; } else { return ERROR; } } } [/code] 为什么 在login()方法 抛出一个异常后 就可以读取全部的form表单,而不抛异常就只有最后一个 小弟的积分较少 求各位大神指教

Ajax后台向前台传json或者string类型的数据,前台收到的数据都是object

前台代码: function pay(){ var map = new Map(); $.ajax({ type:"POST",//提交请求的方式 url:"/interface/servlet/paypay",//访问servlet的路径 dataType:"json",//没有这个,将把后台放会的json解析成字符串 data:$('#pay_submit').serialize(),//把内容序列化 async:true,//是否异步 error:function(data) {//请求出错 alert("出错"); }, success:function(data) {//获得返回值 console.log(data.allmap); alert(data.BUSI_DATA.ORDER_FEE); //var json =eval("("+data+")"); var bankForm = document.createElement("form"); bankForm.method = "post"; bankForm.action = "http://211.103.90.62:7061/payagent/PayUnifiedAccess"; bankForm.id = "IDataForm"; //var json = eval("("+map+")"); //for(var x in json){ var input = document.createElement("input"); input.id = "data"; input.name = "data"; input.type = "hidden"; //input.value ='{"PUB_INFO":{"BUSI_CODE":"1001","OS":"PC","VERIFY_CODE":"a902f90288e4fe8d6e2196499aa90f11b1efd98565f87ce14d9b39701e9d71794bde30a4269e69bd3caf3f754e5c6f9104c67abf207e869210979baf51ce7741f4831ee469e6c76c5828998b0f5d6febf3b95f7f9d9d23908beab2694c7279d52503498a6de5f2109ca68a43f89b3f7068892e29ab5bb34d739acb8fc3d71841"},"BUSI_DATA":{"ORDER_FEE":"1","GOODS_LIST":[{"TOTAL_MONEY":"1","GOODS_PRICE":"100","GOODS_NUM":"1","GOODS_NAME":"诺基亚","GOODS_ID":"0058812","GOODS_ITEM":"1"}],"PEER_TRADE_ID":"2017073011216092","ORDER_DESC":"陈小庆测试","MERCHANT_ID":"1517061200000251","ACCOUNT_CODE":"18322581301","VALID_TIME":"30"}}';// input.value = data; bankForm.appendChild(input); //} document.body.appendChild(bankForm); var submitAction = document.getElementById("IDataForm"); submitAction.submit(); } }); } 后台代码: protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { log.debug("================"); IData goodsInfo=new DataMap(); IDataset goodsList=new DatasetList(); DataMap pubInfo=new DataMap(); DataMap busiDataMap=new DataMap(); DataMap allMap=new DataMap(); goodsInfo.put("GOODS_ITEM", "1"); goodsInfo.put("GOODS_NAME", "诺基亚"); goodsInfo.put("GOODS_PRICE", "100"); goodsInfo.put("GOODS_NUM", "1"); goodsInfo.put("TOTAL_MONEY", "1"); goodsInfo.put("GOODS_ID", "0058812"); goodsInfo.put("TOTAL_MONEY", "1"); goodsList.add(goodsInfo); //goodsList.push(GOODS_LIST=goodsInfo); pubInfo.put("OS", "PC"); pubInfo.put("BUSI_CODE","1001"); busiDataMap.put("PEER_ORDER_ID","2017073011216092"); busiDataMap.put("ORDER_DESC","测试"); busiDataMap.put("ORDER_FEE","1"); busiDataMap.put("VALID_TIME","30"); busiDataMap.put("ACCOUNT_CODE","18322581301"); busiDataMap.put("MERCHANT_ID","1517061200000251");//商户号 busiDataMap.put("GOODS_LIST",goodsList);//商户号 allMap.put("PUB_INFO",pubInfo); allMap.put("BUSI_DATA",busiDataMap); log.debug(allMap); JSONObject json=JSONObject.fromObject(allMap); json.accumulate("data",allMap); req.setCharacterEncoding("utf-8"); resp.setCharacterEncoding("utf-8"); resp.setContentType("text/html"); PrintWriter out=resp.getWriter(); //out.print(JSON.toJSONString(json)); out.print(json.toString()); out.flush(); out.close(); } 后台代码中map包含多个集合,这些参数能直接以json形势传到前台整体取出来吗?求大神指教啊

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

再不跳槽,应届毕业生拿的都比我多了!

跳槽几乎是每个人职业生涯的一部分,很多HR说“三年两跳”已经是一个跳槽频繁与否的阈值了,可为什么市面上有很多程序员不到一年就跳槽呢?他们不担心影响履历吗? PayScale之前发布的**《员工最短任期公司排行榜》中,两家码农大厂Amazon和Google**,以1年和1.1年的员工任期中位数分列第二、第四名。 PayScale:员工最短任期公司排行榜 意外的是,任期中位数极小的这两家公司,薪资...

我以为我学懂了数据结构,直到看了这个导图才发现,我错了

数据结构与算法思维导图

数据库——玩转SQL语句(以MySQL为例)

一、前言 照着大学的SQL server来学

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

华为初面+综合面试(Java技术面)附上面试题

华为面试整体流程大致分为笔试,性格测试,面试,综合面试,回学校等结果。笔试来说,华为的难度较中等,选择题难度和网易腾讯差不多。最后的代码题,相比下来就简单很多,一共3道题目,前2题很容易就AC,题目已经记不太清楚,不过难度确实不大。最后一题最后提交的代码过了75%的样例,一直没有发现剩下的25%可能存在什么坑。 笔试部分太久远,我就不怎么回忆了。直接将面试。 面试 如果说腾讯的面试是挥金如土...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

讲一个程序员如何副业月赚三万的真实故事

loonggg读完需要3分钟速读仅需 1 分钟大家好,我是你们的校长。我之前讲过,这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

程序员写出这样的代码,能不挨骂吗?

当你换槽填坑时,面对一个新的环境。能够快速熟练,上手实现业务需求是关键。但是,哪些因素会影响你快速上手呢?是原有代码写的不够好?还是注释写的不够好?昨夜...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

HTTP与HTTPS的区别

面试官问HTTP与HTTPS的区别,我这样回答让他竖起大拇指!

程序员毕业去大公司好还是小公司好?

虽然大公司并不是人人都能进,但我仍建议还未毕业的同学,尽力地通过校招向大公司挤,但凡挤进去,你这一生会容易很多。 大公司哪里好?没能进大公司怎么办?答案都在这里了,记得帮我点赞哦。 目录: 技术氛围 内部晋升与跳槽 啥也没学会,公司倒闭了? 不同的人脉圈,注定会有不同的结果 没能去大厂怎么办? 一、技术氛围 纵观整个程序员技术领域,哪个在行业有所名气的大牛,不是在大厂? 而且众所...

程序员为什么千万不要瞎努力?

本文作者用对比非常鲜明的两个开发团队的故事,讲解了敏捷开发之道 —— 如果你的团队缺乏统一标准的环境,那么即使勤劳努力,不仅会极其耗时而且成果甚微,使用...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

终于懂了TCP和UDP协议区别

终于懂了TCP和UDP协议区别

无代码时代来临,程序员如何保住饭碗?

编程语言层出不穷,从最初的机器语言到如今2500种以上的高级语言,程序员们大呼“学到头秃”。程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。 无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的编码知识来快速开发应用程序。开发者通过图形界面中,可视化建模来组装和配置应用程序。这样一来,开发者直...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

《C语言函数速查》main()主函数

每一个C程序都必须有一main()函数, 可以根据自己的爱好把它放在程序的某个地方。有些程序员把它放在最前面, 而另一些程序员把它放在最后面, 无论放在哪个地方, 以下几点说明都是适合的。

Java岗开发3年,公司临时抽查算法,离职后这几题我记一辈子

前几天我们公司做了一件蠢事,非常非常愚蠢的事情。我原以为从学校出来之后,除了找工作有测试外,不会有任何与考试有关的事儿。 但是,天有不测风云,公司技术总监、人事总监两位大佬突然降临到我们事业线,叫上我老大,给我们组织了一场别开生面的“考试”。 那是一个风和日丽的下午,我翘着二郎腿,左手端着一杯卡布奇诺,右手抓着我的罗技鼠标,滚动着轮轴,穿梭在头条热点之间。 “淡黄的长裙~蓬松的头发...

大牛都会用的IDEA调试技巧!!!

导读 前天面试了一个985高校的实习生,问了他平时用什么开发工具,他想也没想的说IDEA,于是我抛砖引玉的问了一下IDEA的调试用过吧,你说说怎么设置断点...

面试官:你连SSO都不懂,就别来面试了

大厂竟然要考我SSO,卧槽。

终于,月薪过5万了!

来看几个问题想不想月薪超过5万?想不想进入公司架构组?想不想成为项目组的负责人?想不想成为spring的高手,超越99%的对手?那么本文内容是你必须要掌握的。本文主要详解bean的生命...

我说我懂多线程,面试官立马给我发了offer

不小心拿了几个offer,有点烦

自从喜欢上了B站这12个UP主,我越来越觉得自己是个废柴了!

不怕告诉你,我自从喜欢上了这12个UP主,哔哩哔哩成为了我手机上最耗电的软件,几乎每天都会看,可是吧,看的越多,我就越觉得自己是个废柴,唉,老天不公啊,不信你看看…… 间接性踌躇满志,持续性混吃等死,都是因为你们……但是,自己的学习力在慢慢变强,这是不容忽视的,推荐给你们! 都说B站是个宝,可是有人不会挖啊,没事,今天咱挖好的送你一箩筐,首先啊,我在B站上最喜欢看这个家伙的视频了,为啥 ,咱撇...

代码注释如此沙雕,会玩还是你们程序员!

某站后端代码被“开源”,同时刷遍全网的,还有代码里的那些神注释。 我们这才知道,原来程序员个个都是段子手;这么多年来,我们也走过了他们的无数套路… 首先,产品经理,是永远永远吐槽不完的!网友的评论也非常扎心,说看这些代码就像在阅读程序员的日记,每一页都写满了对产品经理的恨。 然后,也要发出直击灵魂的质问:你是尊贵的付费大会员吗? 这不禁让人想起之前某音乐app的穷逼Vip,果然,穷逼在哪里都是...

2020春招面试了10多家大厂,我把问烂了的数据库事务知识点总结了一下

2020年截止目前,我面试了阿里巴巴、腾讯、美团、拼多多、京东、快手等互联网大厂。我发现数据库事务在面试中出现的次数非常多。

前端还能这么玩?(女朋友生日,用前端写了一个好玩的送给了她,高兴坏了)

前端还能这么玩?(女朋友生日,用前端写了一个好玩的送给了她,高兴坏了)

成年人需要学会持续性学习

不知道你有没有这种感觉,刚出社会的年轻人,感觉就像一匹脱离缰绳的野马,是很兴奋,有很多的想法,同时这个阶段是稚嫩的,因为初入职场,什么都不懂,总归需要别人带一带。但是有的甚至已到中年,...

爬虫(101)爬点重口味的

小弟最近在学校无聊的很哪,浏览网页突然看到一张图片,都快流鼻血。。。然后小弟冥思苦想,得干一点有趣的事情python 爬虫库安装https://s.taobao.com/api?_ks...

在拼多多上班,是一种什么样的体验?我心态崩了呀!

之前有很多读者咨询我:武哥,在拼多多上班是一种什么样的体验?由于一直很忙,没抽出时间来和大家分享。上周末特地花点时间来写了一篇文章,跟大家分享一下拼多多的日常。 1. 倒时差的作息 可能很多小伙伴都听说了,拼多多加班很严重。这怎么说呢?作息上确实和其他公司有点区别,大家知道 996,那么自然也就能理解拼多多的“11 11 6”了。 所以当很多小伙伴早上出门时,他们是这样的: 我们是这样的: 当...

立即提问
相关内容推荐