Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Access macro properties in servlet

Raj Karan
Contributor
April 9, 2019

I have two properties in macro which I want to access in Servlet.

below is my atlassian-plugin.xml

<atlassian-plugin key="${atlassian.plugin.key}" name="${project.name}" plugins-version="2">
<plugin-info>
<description>${project.description}</description>
<version>${project.version}</version>
<vendor name="${project.organization.name}" url="${project.organization.url}" />
<param name="plugin-icon">images/pluginIcon.png</param>
<param name="plugin-logo">images/pluginLogo.png</param>
</plugin-info>

<!-- add our i18n resource -->
<resource type="i18n" name="i18n" location="paynow"/>

<!-- add our web resources -->
<web-resource key="paynow-resources" name="paynow Web Resources">
<dependency>com.atlassian.auiplugin:ajs</dependency>

<resource type="download" name="paynow.css" location="/css/paynow.css"/>
<resource type="download" name="paynow.js" location="/js/paynow.js"/>
<resource type="download" name="images/" location="/images"/>
<resource type="velocity" name="template" location="/templates/paynow.vm"/>

<context>paynow</context>
</web-resource>

<xhtml-macro name="paynow" class="com.wgh.plugins.macro.Paynow" key='paynow-macro'>
<description key="paynow.macro.desc"/>
<category name="formatting"/>
<parameters>
<parameter name="login_credential" type="string"/>
<parameter name="transaction_key" type="string"/>
</parameters>
</xhtml-macro>

<servlet name="paynowservlet" key="paynow-servlet" class="com.wgh.plugins.servlet.PaynowServlet">
<description key="paynow-servlet">The Pay Now Servlet Plugin.</description>
<url-pattern>/paynowservlet</url-pattern>
</servlet>

</atlassian-plugin>

 

As you can see I have login_credential and transaction_key two properties which user will set at the time of configuring macro.

I want to access these two properties in Servlet



package com.wgh.plugins.servlet;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class PaynowServlet extends HttpServlet {

@Override
public void doGet(HttpServletRequest request, HttpServletResponse response
) throws IOException, ServletException {
response.getWriter().write("servlet responding to get request.");
}

@Override
public void doPost(HttpServletRequest request, HttpServletResponse response
) throws IOException, ServletException {
response.getWriter().write("servlet responding to post.");
}

}

 

Can this be possible and how?

One possible solution can be; send properties to template and then forward them to Servlet in an Ajax request. This will expose my transaction key which I do not want.

 

 

 

 

 

 

 

 

0 answers

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events