将id值传递给action类

时间:2013-08-06 06:00:33

标签: java hibernate jsp struts2 lightbox

我想将idpat的文本字段传递给Struts 2中的getautocomplete.action。我在这里使用TINY.box弹出下一页。

<s:textfield  name="pat" id="pat"/>

<script type="text/javascript">
  T$('tiny_patient').onkeypress = function(){
    TINY.box.show('getautocomplete.action',1,0,0,1)
  }
</script>

3 个答案:

答案 0 :(得分:1)

您需要将ID pat及其值附加到传递给show函数的网址。例如

var url = 'getautocomplete.action?pat=' + $("#pat").val();

然后,您可以在url函数中使用变量show

您还需要在操作类中添加以下内容。这也取决于pat的java类型。我正在使用String

private String pat;

public String getPat()
{
    return pat;
}

public void setPat(final String value)
{
    this.pat = value;
}

注意 建议使用以下内容获取您的网址,而不是对扩展程序进行硬编码

<s:url id="url_variable" namespace="/namespace_of_action" action="action_name" />
var url = '<s:property value="url_variable" />?pat=' + $("#pat").val();

答案 1 :(得分:0)

如果您尝试根据之前的框选择或任何服务器端流程填充此框,则必须使用 ajax

在你的动作类中,为这个名为“pat”的变量写一个getter-setter,如下所示:

私人字符串拍摄;

public getPat()
{
.........
}

public setPat(String pat)
{
this.pat=pat;
}

并更改

TINY.box.show('getautocomplete.action',1,0,0,1)

TINY.box.show('getautocomplete.action?pat="xyz"',1,0,0,1)

希望这可以解决您的问题,除非您对ajax有所了解。

答案 2 :(得分:0)

尝试

<s:textfield  name="pat" id="pat"/>
<script type="text/javascript">
  document.getElementById("tiny_patient").onkeypress = function(e){
    TINY.box.show("<s:url action='getautocomplete'/>"+"?pat="+document.getElementById("pat").value,1,0,0,1)
  }
</script>