Tech I Enjoy Logo

Custom Search




  Home >> Struts
Using XSL file to render output HTML while using Struts 2.1.6 Framework

There is a specific Result type as XSLTResult, that is defined in the
default Struts XML  file, so is available to use in any Struts 2
framework based application.

In this example I shall be showing one out of several ways by which
one may use a XSL file for rendering HTML output/screen from a
Struts2 based Action/POJO class.

In this example we have a struts.xml file, a POJO, a index.jsp file,
a XSL file, these are placed in appropriate places inside the
web application packaging, for this example it is shown as follows:

  • /*/WEB-INF/classes/struts.xml
  • /*/WEB-INF/classes/sample/ExampleXSLTAction.java
  • /index.jsp
  • /sources/test.xslt
  • What I am doing here is to show a screen to enter two values, such as header and footer. These two text fields are mapped to the two variables in POJO, "ExampleXSLTAction", and then forwarding to a preview result having type as "xslt" and style sheet location as the xslt file located in the sources folder.
    struts.xml
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">
    <struts>
      <package name="xslt-example" namespace="/sample"
               extends="struts-default">
         <action name="test" class="sample.ExampleXSLTAction"
    	                 method="preview">
            <result name="preview" type="xslt">
               <param name="stylesheetLocation">
    	        /sources/test.xslt
    	   </param>
            </result>
            <result name="input">/index.jsp</result>
         </action>
      </package>
    </struts>
    
    When the URL for accessing this example web application as, http://localhost:8080/struts2sample Then the index.jsp will be showing the user UI screen as follows: And the second screen one clicking submit button. ExampleXSLTAction.java
    package sample;
    
    public class ExampleXSLTAction {
    	private String testHeader;
    	private String testFooter;
    	public void setTestHeader(String arg) {
    		testHeader = arg;
    	}
    	public String getTestHeader(){
    		return testHeader;
    	}
    	public void setTestFooter(String arg) {
    		testFooter = arg;
    	}
    	public String getTestFooter(){
    		return testFooter;
    	}
        public String preview() throws Exception {
    		if((testHeader != null && testHeader.length() >0) &&
    			(testFooter != null && testFooter.length() <0))
                return "preview";
    		else
                return "input";
    	}
    }
    
    This POJO class file does only checking of the input values in these two text fields, testHeader and testFooter. test.xslt
    <?xml version="1.0"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                    version="1.0">
    <xsl:output method="html"/>
    <xsl:template match="result">
    <html>
    <body>
          <h4><xsl:value-of select="testHeader"/></h4>
          <br/>
          <xsl:value-of select="testFooter"/>
    </body>
    </html>
    </xsl:template>
    </xsl:stylesheet>
    
    This XSLT file, takes values from the ExampleXSLTAction object and displays on screen as shown in this image And following image shows a very simple way of putting various major parts/files of this example and the way fields/attributes are used/referred in each of these files. index.jsp
    <%@ taglib uri="/struts-tags" prefix="struts2"%>
    <html>
    <head>
    </head>
    <body>
    <struts2:form method="post" action="test" namespace="/sample">
    <table>
    <tr><td><struts2:textfield key="testHeader"
                       label="Enter Header :"/></td></tr>
    <tr><td><struts2:textfield key="testFooter"
                       label="Enter Footer :"/></td></tr>
    <tr><td colspan="2"><struts2:submit value="Register"/></td></tr>
    </table>
    </struts2:form>
    </body>
    </html>
    
    This way I could able to pass dynamic values from Action class/POJO to the XSLT processor for displaying output in HTML format. Any comments , please write those using below form. If you like to share your comment/suggestions/feedback relating to this Page, you can do so by droping us an email at usingframeworks @ gmail . com with the subject line mentioning URL for this Page (i.e, /struts2-xslt-article.php) or use this LINK. As per this website's privacy policy, we never disclose your email id, though we shall post your comments/suggestions/feedback with your name (optional) and date on this Page. If you don't want your comments/suggestions/feedback to be shared in this Page, please mention so in your email to us. Thank you very much..... If anything missed out , please let me know at techienjoy at yahoo . com
    Struts 2 Tiles and I18N Example :
    Example using Tiles and I18N with Struts 2 and 
    code explained.
    Struts 2 Plugin Example :
    Example using Struts 2 Plugin
    Apache Struts with DOJO Example Part-1 :
    Example of DOJO Toolkit with Struts and 
    code explained.
    Apache Struts 2 Validation Example :
    Validation Example Steps of using Struts 2
    and Example code explained.
    List of Struts Example :
    Examples List using Struts 2 and 
    code explained.
    Struts 2 Result Chain Example :
    Example using Result Chain with Struts 2 and 
    code explained.
    Apache Struts 2 upload Example :
    Uploading Example Steps of using Struts 2
    and Example code explained.
    Struts Validation Example :
    Example using Validation with Struts 2 and 
    code explained.
    Apache Struts 2 Tiles and I18N Example :
    Example Steps of using Struts 2 With Tiles
    and I18N code explained.
    Apache Struts Validation with Example :
    Example of Validation using Struts and 
    code explained.
    Apache Struts with DOJO Example Part-3 :
    Example of DOJO Toolkit with Struts and 
    code explained.
    Apache Struts 2 Radio Tag Example :
    Example Steps of using Struts 2 Radio Tags
    and code explained.
    Apache Struts with DOJO Example Part-2 :
    Example of DOJO Toolkit with Struts and 
    code explained.
    Apache Struts 2 Validation With Example :
    Validation Example using Struts 2
    and Example code explained.
    Apache Struts Date Validation with Example :
    Example of Date Validation using Struts and 
    code explained.
    Apache Struts with DOJO Example Part-4 :
    Example of DOJO Toolkit with Struts and 
    code explained.
    Apache Struts 2 Custom Validator :
    Example Steps of using Struts 2 with Custom Validator
    and code explained.
    Apache Struts 2 Example Steps :
    Example Steps of using Struts 2 and code explained.
    Apache Struts 2 PDF Result :
    Example Steps of using Struts 2 with PDF Result
    and code explained.
    Apache Struts 2 Tags Example :
    Example Steps of using Struts 2 Tags
    and code explained.
    Struts 2 with JSF Example :
    Example using JSF with Struts 2 and 
    code explained.
    Apache Struts 2 Validation With Expression :
    Validation with Expression using Struts 2
    and Example code explained.
    Apache Struts 2 and XSLT With Example :
    XSLT Example using Struts 2 and Example 
    code explained.
    Apache Struts 2 Tags Example :
    Example of Struts 2 Tags and code explained.
    Apache Struts 2 Result PlainText Example :
    Example Steps of using Struts 2 PlainText Result
    and code explained.


    References :
    Tags: Struts 1 Struts2 plugin
    Tags: struts jsf integrate
    Tags: struts result chain
    Tags: struts tiles i18n
    Tags: Struts validation struggle
    Tags: Struts
    Tags: struts1 date validation
    Tags: struts1 struts2 validation
    Tags: struts2 dojo 1
    Tags: struts2 dojo 2
    Tags: struts2 dojo 3
    Tags: struts2 dojo 4
    Tags: Struts2 example steps Tag usage
    Tags: Struts2 example steps
    Tags: struts2 own validator
    Tags: struts2 pdf result
    Tags: struts2 radio tag example
    Tags: struts2 result plaintext
    Tags: struts2 tags example
    Tags: struts2 tiles i18n
    Tags: struts2 upload example
    Tags: struts2 validation 1
    Tags: struts2 validation expression
    Tags: struts2 validation
    Tags: struts2 xslt article
    

    
    
    DISCLAIMER :
    The content provided in this page is not warranted and/or guaranteed by techienjoy.com. 
    techienjoy.com is not liable for any negative consequences that may result/arise from 
    implementing directly/indirectly any information covered in these pages/articles/tutorials.
    
    All contents of this site is/are written and provided on an "AS IS" basis,
    without WARRANTIES or conditions of any kind, either express or implied, including, without
    limitation, merchantability, or fitness for a particular purpose. You are solely responsible
    for determining the appropriateness of using or refering this and assume any risks associated
    with this.
    
    In spite of all precautions taken to avoid any typo in these pages, there might be some 
    issues like grammatical mistakes and typos being observed in these pages, techienjoy.com
    extends sincerest apologies to all our visitors for the same.
    
    
    

    Android Examples || Android Examples

    © Copyright 2010-2012, TECHIENJOY, All Rights Reserved.      Privacy Policy     Disclaimer & Terms & Conditions