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="https://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
Strategy Design Patterns We can easily create a strategy design pattern using lambda. To implement…
Decorator Pattern A decorator pattern allows a user to add new functionality to an existing…
Delegating pattern In software engineering, the delegation pattern is an object-oriented design pattern that allows…
Technology has emerged a lot in the last decade, and now we have artificial intelligence;…
Managing a database is becoming increasingly complex now due to the vast amount of data…
Overview In this article, we will explore Spring Scheduler how we could use it by…