gpt4 book ai didi

java - 使用 displaytag 和 Struts 1.3 的 JSP 表格中的按钮列

转载 作者:行者123 更新时间:2023-11-29 09:01:31 26 4
gpt4 key购买 nike

我需要显示包含用户列表(idname 等)的表格,并将用于删除指定用户的按钮放在最后一列中。像这样:

############################
| ID | name | ... | button |
| ID | name | ... | button |
############################

我写过这样的代码:

<form action="/Struts/DeleteUser.do" name="myForm" id="myForm" method="post">
<display:table name="sessionScope.AllUsersForm.usersList">
<display:column property="id" title="ID" />
<display:column property="name" title="Name" />
...........
<display:column title="Delete">
<input type="submit" value="Delete user" />
</display:column>
</display:table>
<form>

那么我如何识别我的 Action 类中按下的按钮呢?我已经尝试将一个隐藏字段放入带有按钮的部分并更改它的值,但没有任何反应。

更新:

我已经解决了问题。我用过这个:

<display:table name="sessionScope.AllUsersForm.usersList" 
<%-- This ==> --%> id="item" <%-- <=== --%> >
........
<input type="submit" value="Delete user"
onclick="document.getElementById('pressedButton').value = ${item.id}"/>

并创建隐藏字段:

<input type="hidden" name="pressedButton" id="pressedButton" /> 

最佳答案

例如,您可以通过给按钮命名来轻松做到这一点

<input name="action" type="submit" value="Delete user" />

现在在 bean 中,你的 case form bean 关联到 Action ,你应该创建一个属性

private String action;
public void setAction(String action){
this.action = action;
}
public String getAction(){
return action;
}

Struts 1 使用 commons beanutils 来填充表单 bean。当您提交表单时,字段值将通过 setter 填充。按钮字段也不异常(exception)。因此,它的值也将设置为 action 属性。然后你可以通过

检查它
if (action != null && action.equals("Delete user")){
System.out.println("Button is: "+action);
}

识别和执行按钮事件的最自然的 Struts 1 方法是与按钮一起分派(dispatch)消息键值。例如

<html:submit><bean:message key="button.delete"/></html:submit>

"button.delete"是一个消息资源键,应该在MessageResource.properties文件中

button.delete = Delete user

该操作应实现 LookupDispatchAction 并覆盖

@Override
public Map getKeyMethodMap() {
Map<String, String> map = new HashMap<String, String>();
map.put("button.delete", "delete");
return map;
}

然后当执行操作时,它将分派(dispatch)到 map 中指定的方法。在此示例方法中,delete

关于java - 使用 displaytag 和 Struts 1.3 的 JSP 表格中的按钮列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17126293/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com