如何从Struts 2的action类到Jsp的textfield获取变量的值?

时间:2012-12-17 09:14:44

标签: jsp struts2

我的动作类看起来像这样

class My action class {

  public String getvariable() {
    return variable;
  }

  public void setvariable(String variable) {
    this.variable = variable;
  }

  public dosubmit(){
    variable=service.getvariable();
    return "success";
  }
}

使用struts的这个属性标签 我能够在JSP中获取变量的值。

但我希望JSP的文本字段中的值。 我怎么能这样做?

如何在下一个jsp文件中的jsp变量中获取此变量值,以便我可以操作此值。

3 个答案:

答案 0 :(得分:4)

为变量创建Getter和Setter,并在JSP中提供相同的名称。 U将获得变量的值。

答案 1 :(得分:2)

您可以使用value标记的<s:textfield>属性预设值。

<s:textfield name="some_name" value="%{variable}"/>

答案 2 :(得分:1)

在Struts UI标记中,name属性用于在提交值时匹配Setter对象,而value属性用于预设对象的任意值,可以(但不能必须) )是你的变量值。

这个

<s:textfield name="variable" value="%{variable}"/>

表示您使用变量值预设它,并且在发布时,它将被设置为新的变量值。

请注意您的行动在语法上是错误的; 您必须将CamelCase用于getter和setter(以及方法和变量名称等),如下所示:

public class MyAction class {

  private String variable;

  public String getVariable() { 
    return variable;
  }

  public void setVariable(String variable) {
    this.variable = variable;
  }

  public doSubmit(){
    variable=service.getVariable();
    return "success";
  }
}

或者从OGNL获取值时会遇到问题。