Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in
Deleted user
0 / 0 points
Next:
badges earned

Your Points Tracker
Challenges
Leaderboard
  • Global
  • Feed

Badge for your thoughts?

You're enrolled in our new beta rewards program. Join our group to get the inside scoop and share your feedback.

Join group
Recognition
Give the gift of kudos
You have 0 kudos available to give
Who do you want to recognize?
Why do you want to recognize them?
Kudos
Great job appreciating your peers!
Check back soon to give more kudos.

Past Kudos Given
No kudos given
You haven't given any kudos yet. Share the love above and you'll see it here.

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
Published in Agile

Join us LIVE: Atlassian & Experts Talk Research & Insights @ Scale

Hello all! What have you learned from your customers lately? Our live-streamed series continues by exploring CX, UX, and the power of research & insights at scale with Leisa Reichelt, Head of R...

224 views 3 6
Read article

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