xwork dtd的例子 <!-- XWork configuration DTD. Use the following DOCTYPE <!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.1.1//EN" "http://www.opensymphony.com/xwork/xwork-1.1.1.dtd">--><!ELEMENT xwork (package|include)*><!ELEMENT package (result-types?, interceptors?, default-interceptor-ref?, default-action-ref?, global-results?, global-exception-mappings?, action*)><!ATTLIST package name CDATA #REQUIRED extends CDATA #IMPLIED namespace CDATA #IMPLIED abstract CDATA #IMPLIED externalReferenceResolver NMTOKEN #IMPLIED><!ELEMENT result-types (result-type+)><!ELEMENT result-type (param*)><!ATTLIST result-type name CDATA #REQUIRED class CDATA #REQUIRED default (true|false) "false"><!ELEMENT interceptors (interceptor|interceptor-stack)+><!ELEMENT interceptor (param*)><!ATTLIST interceptor name CDATA #REQUIRED class CDATA #REQUIRED><!ELEMENT interceptor-stack (interceptor-ref+)><!ATTLIST interceptor-stack name CDATA #REQUIRED><!ELEMENT interceptor-ref (param*)><!ATTLIST interceptor-ref name CDATA #REQUIRED><!ELEMENT default-interceptor-ref (param*)><!ATTLIST default-interceptor-ref name CDATA #REQUIRED><!ELEMENT default-action-ref (param*)><!ATTLIST default-action-ref name CDATA #REQUIRED><!ELEMENT external-ref (#PCDATA)><!ATTLIST external-ref name NMTOKEN #REQUIRED required (true|false) "true"><!ELEMENT global-results (result+)><!ELEMENT global-exception-mappings (exception-mapping+)><!ELEMENT action (param|result|interceptor-ref|exception-mapping|external-ref)*><!ATTLIST action name CDATA #REQUIRED class CDATA #IMPLIED method CDATA #IMPLIED converter CDATA #IMPLIED><!ELEMENT param (#PCDATA)><!ATTLIST param name CDATA #REQUIRED><!ELEMENT result (#PCDATA|param)*><!ATTLIST result name CDATA #IMPLIED type CDATA #IMPLIED><!ELEMENT exception-mapping (#PCDATA|param)*><!ATTLIST exception-mapping name CDATA #IMPLIED exception CDATA #REQUIRED result CDATA #REQUIRED><!ELEMENT include (#PCDATA)><!ATTLIST include file CDATA #REQUIRED> xwork.xml的例子 <xwork> <include file="webwork-default.xml"/> <package name="person" extends="webwork-default" namespace="/person"> <action name="listPeople" class="com.opensymphony.webwork.showcase.person.ListPeople"> <interceptor-ref name="validationWorkflowStack"/> <result type="freemarker">listPeople.ftl</result> </action> <!-- our JasperReports example --> <action name="jasperList" class="com.opensymphony.webwork.showcase.jasper.JasperAction"> <result name="success" type="jasper"> <param name="location">/jasper/sample_report.jasper</param> <param name="dataSource">people</param> <param name="documentName">peoplereport</param> </result> </action> <action name="newPerson" class="com.opensymphony.webwork.showcase.person.CreatePerson"> <result type="redirect">listPeople.action</result> <result name="input" type="freemarker">newPerson.ftl</result> </action> <action name="editPerson" class="com.opensymphony.webwork.showcase.person.EditPerson"> <result>editPeople.jsp</result> </action> <action name="doEditPerson" class="com.opensymphony.webwork.showcase.person.EditPerson" method="save"> <result name="error">editPeople.jsp</result> <result type="redirect">listPeople.action</result> </action> </package></xwork>