我用的是 MyEclipse 8.0直接导入的struts包, 包中已经自己集成了 Json-lib
出现了巨多的问题
实体类
package com.zhaohui.entity;
public class Person
{
private int id;
private String name;
private String title;
//set get方法省略
}
Action类:
package com.zhaohui.action;
import net.sf.json.JSONObject;
import com.opensymphony.xwork2.ActionSupport;
import com.zhaohui.entity.Person;
public class PersonAction extends ActionSupport
{
private String stringJson = null;
public String getStringJson()
{
return stringJson;
}
public void setStringJson(String stringJson)
{
this.stringJson = stringJson;
}
public String execute()
{
Person person = new Person();
person.setId(1);
person.setName("Eric");
person.setTitle("教授");
JSONObject JsonObject = JSONObject.fromObject(person);
stringJson = JsonObject.toString();
return SUCCESS;
}
}
struts.xml配置文件
<package name="test" extends="struts-default">
<action name="person" class="com.zhaohui.entity.Person">
<result>/index.jsp</result>
</action>
</package>
JSP页面就一句话 <s:property value="stringJson"/>
结果报错:
服务器上报错:
严重: Servlet.service() for servlet jsp threw exception
The Struts dispatcher cannot be found. This is usually caused by using Struts tags without the associated filter. Struts tags are only usable when the request has passed through its servlet filter, which initializes the Struts dispatcher needed for this tag. - [unknown location]
at org.apache.struts2.views.jsp.TagUtils.getStack(TagUtils.java:60)
at org.apache.struts2.views.jsp.StrutsBodyTagSupport.getStack(StrutsBodyTagSupport.java:44)
at org.apache.struts2.views.jsp.ComponentTagSupport.doStartTag(ComponentTagSupport.java:48)
at org.apache.jsp.index_jsp._jspx_meth_s_005fproperty_005f0(index_jsp.java:118)
at org.apache.jsp.index_jsp._jspService(index_jsp.java:88)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Thread.java:619)
页面上报错500:
exception:
java.lang.reflect.InvocationTargetException
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
root:
java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher
com.zhaohui.action.PersonAction.execute(PersonAction.java:31)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
第31行是这个:stringJson = JsonObject.toString();
为什么会报错,怎么去解决 这两个问题
我还想知道 在Extjs上我怎么去接收数据呢 ?