2012-03-12 63 views
0

我想使用struts2中的dojo插件从div中调用ajax调用。我使用下面的罐子: Struts2的核心 - 2.1.8.1.jar在struts2中使用dojo插件的Ajax

Struts2的,泥鳅插件,2.1.8.1.jar

我有以下的jsp:

<%@ taglib prefix="sx" uri="/struts-dojo-tags"%> 
    <%@ taglib prefix="s" uri="/struts-tags"%> 
    <html> 
     <head> 
     <sx:head/> 
     </head> 
     <body> 
     <sx:div id="loginDiv" theme="ajax"> 
     <div style="width: 300px;border-style: solid"> 
      <s:form action="login" validate="true">   
       <s:textfield name="username" label="Login name"/> 
       <s:password name="password" label="Password"/> 
       <sx:submit targets="loginDiv" notifyTopics="/login"/>  
      </s:form> 
     </div> 
     </sx:div> 
     </body> 
    </html> 

但我得到以下例外

java.lang.AbstractMethodError 
at org.apache.struts2.components.ClosingUIBean.start(ClosingUIBean.java:59) 
at org.apache.struts2.views.jsp.ComponentTagSupport.doStartTag(ComponentTagSupport.java:53) 
at org.apache.jsp.WEB_002dINF.content.rule.rule_jsp._jspx_meth_sx_submit_0(rule_jsp.java from :253) 
at org.apache.jsp.WEB_002dINF.content.rule.rule_jsp._jspx_meth_s_form_0(rule_jsp.java from :186) 
at org.apache.jsp.WEB_002dINF.content.rule.rule_jsp._jspx_meth_sx_div_0(rule_jsp.java from :138) 
at org.apache.jsp.WEB_002dINF.content.rule.rule_jsp._jspService(rule_jsp.java from :82) 
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:109) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) 
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:403) 
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:476) 
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:366) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) 
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:538) 
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:478) 
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119) 
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:517) 
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:225) 

我有适当的struts.xml和动作定义。 同样的工作,如果我不使用ajax。有人可以帮我在这里。

回答

0

如果你刚开始,我建议你不要使用Dojo。该ajax插件已弃用,不再维护。

尝试jquery(甚至有一个struts-jquery插件),它非常容易学习,主动维护并具有大量插件,因此您不必重新发明轮子。