It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

How to call the java file method and pass values to it from the velocity template ? Edited

I have a select field whose values I need in the Java file, so how can i pass the current selected value from velocity to java file

3 answers

Hello,

If your velocity is not for validators, conditions, webworks and so on, then you would need to execute a rest call to pass parameters from a velocity template.

My Template File looks like:-

<select id="parent" name="parent_version">
<option selected="selected" value="CONF">Confluence</option>
<option value="JIRA">JIRA</option>
<option value="JAG">JIRA Agile</option>
<option value="CAP">JIRA Capture</option>
<option value="AUI">AUI</option>
</select>

My java file looks Like:-

class Outer extends JiraContextProvider{

class Inner extends JiraWebActionSupport {

public String doExecute(){}

}}

 

So I have to make a rest call from the velocity to the doExecute method ?

Could you please help me with any sample code so that i can have a crystal clear understanding how the communication will work ?

@Alexey Matveev _cPrime_  I have made the post call from the velocity passing the data within it, but I am not clear how are we going to catch and use it in the inner class method.

Could you please help with the same?

I gave you general ideas. Unfortunately, I do not have time to make your code work.

Thanks for the idea working on the same

@Alexey Matveev _cPrime_  I am making use of the Webwork to pass values but unfortunately that is not working.

xml :-

 <webwork1 key="passValue" name="Quick Create User Issue" class="java.lang.Object"> 
<actions>
<action name="com.example.plugins.tutorial.DueDateIndicator" alias="DueDate">
<view name="stayhere">\templates\due-date-indicator.vm</view>
</action>
</actions>
</webwork1>

 velocity :-

<form class="aui" name="input" action="http://localhost:2990/jira/secure/DueDate.jspa" method="post">
<select id="parent" name="execute" >
<option selected="selected" value="CONF">Confluence</option>
<option value="JIRA">JIRA</option>
<option value="BAM">Bamboo</option>
<option value="JAG">JIRA Agile</option>
<option value="CAP">JIRA Capture</option>
<option value="AUI">AUI</option>
</select>
<input type="submit">
</form>

java :-

class Outer extends AbstractJiraContextProvider {

class Inner extends JiraWebActionSupport {

public String doExecute(){
    String[] vals = request.getParameterValues("val");
    return vals[0];

}

Inner inner = new Inner()

inner.doExecute()

}

Ashish 

If you want to pass calue from velocity to webwork action class you need to do the below

1. In the velocity have the html element name eg : <select name= myParameterName >

(This is just a psuedo code)

 

2. In your java class declare a private variable

Private String myParameterName;

As you must have observed the name is same in velocity file and java file.

3. Now create getter and setter methods in your java class

String getMyParameterName(){

Return myParameterName;

}

Void setMyParameterName(String myParameterName){

myParameterName=myParameterName;

}

Now when on submit from velocity when you call this action the parameters are available using getMyParameterName()

 

This is feature of webwork. Similarly multiple parameters can be accessed in the action class. 

 

Hope this helps

The submit action url as set above redirects me to a different page which appears to be dead. How can I stay on the same page and perform the action without being redirected @Mizan .

The submit action url redirects me to different page which says dead page how can I have the action url set to stay on the same page 

Suggest an answer

Log in or Sign up to answer
TAGS
Community showcase
Posted in Agile

Overview of Advanced Roadmaps UI + Get started with Automation for Jira - Demo Den September 2020

Deliver better and faster value to your customers with the Jira automation platform. Watch this Demo Den series below to learn how to use the new interface and set up automation rules to help your te...

1,205 views 3 6
Join discussion

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you