a tag example in Struts2

Struts 2 "a" tag is used to render a HTML "<a>" tag. The best practice is always use "<s:url>" tag to create the URL and embed it into the "a" tag.

Create Action class:
DataTagAction.java
package com.dineshonjava.struts2.action;

import com.opensymphony.xwork2.ActionSupport;

/**
 * @author Dinesh Rajput
 *
 */
public class DataTagAction extends ActionSupport {

 private static final long serialVersionUID = -7744420104547018874L;
 
 public String execute() {
  return SUCCESS;
 }
}

Create views-
Let us have index.jsp file as follows:
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>A Data Tag Struts2 | dineshonjava.com</title>
</head>
 
<body>
<h2>A Data Tag Struts2</h2>
<s:url value="http://www.dineshonjava.com" var="dojURL" />
<s:a href="%{dojURL}">Dinesh On Java</s:a>

<s:url action="atag" var="atagURL" />
<s:a href="%{atagURL}">a Tag Action</s:a>
</body>
</html>

Configuration Files
Your struts.xml should look like:
<?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>
    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devMode" value="false" />
    <constant name="struts.custom.i18n.resources" value="myapp" />
 
    <package name="default" extends="struts-default" namespace="/">
        <action name="atag" class="com.dineshonjava.struts2.action.DataTagAction">
            <result name="success">/success.jsp</result>
        </action>
        
    </package>
 </struts>

Your web.xml should look like:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>Struts2DataTag</display-name>
 <filter>
        <filter-name>struts2</filter-name>
        <filter-class>
            org.apache.struts2.dispatcher.FilterDispatcher
        </filter-class>
    </filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
</web-app>

Right click on the project name and click Export > WAR File to create a War file. Then deploy this WAR in the Tomcat's webapps directory. Finally, start Tomcat server and try to access

URL http://localhost:8080/doj/index.jsp.

This will give you following screen:



Download SourceCode
a DataTagExample.zip


<<Previous <<   || Index ||   >>Next >>




No comments:

Post a Comment