how can i pass value from javascript to a java class in struts2?

前端 未结 5 962
醉酒成梦
醉酒成梦 2020-12-21 18:15
function redirect(id){
alert(id);

document.forms[\"AddToCart\"].submit();
}

This is my javascript. How can i pass the value of \'id\' into AddToCa

相关标签:
5条回答
  • 2020-12-21 18:58

    Since you're submitting a form, you can dynamically create a new input in that form containing the id you wish to send and then submit the form.

    0 讨论(0)
  • 2020-12-21 19:05

    You can not communicate from client(javascript) to server side(java classes) directly. Because javascript is executed by your browser and java classes are executed by your server. So you need to use Ajax request to communicate with java classes.

    0 讨论(0)
  • 2020-12-21 19:07

    You can store the value in a hidden field inside your form and so when the form is submitted the value will be sent to Action.

    <form name="AddToCart" ... >
    ...
    <input type="hidden" id="myid"/>
    .....
    </form>
    

    then

    function redirect(id){
    document.getElementById('myid').value = id;
    
    document.forms["AddToCart"].submit();
    }
    
    0 讨论(0)
  • 2020-12-21 19:11

    There are many ways to do this and one of the easy way is to pass it as a hidden form field

    something like

    <s:hidden value="" name="my_ID" id="my_ID"/>
    

    and in you javascript you need to set this hidden input field like

    function redirect(id){
    alert(id);
    document.getElementById("my_ID").value=id;
    document.forms["AddToCart"].submit();
    }
    

    final step is to create a similar property in your action class with its getter and setters and framework will inject the form value in the respected property

    public class MyAction extends ActionSupport{
    
      private String my_ID  // data type can be as per your requirements
      getter and setters
    
      public String execute() throws Exception{
         return SUCCESS;
      }
    
    }
    

    this is all you need to do and you will able to get the value inside your action class under my_ID property. I am assuming that AddToCart is your Struts2 Action class else you need to pass the value to your class from your called action.

    0 讨论(0)
  • 2020-12-21 19:13

    We have to do two things to send a value to action class in struts2

    • send the required value with specific parameter name
    • create variable with the same name mentioned in jsp & create setter,getter methods for that variable.

    in action class

    public class AddToCart{
    private String itemId;
    
    public String getItemId(){
    return itemId;
    }
    public void setItemId(String id){
    this.itemId=id;
    }
    }
    

    this will work.

    0 讨论(0)
提交回复
热议问题