Struts2 操作属性中的 String[] 与 Integer[]

发布于 2024-09-10 07:37:32 字数 254 浏览 4 评论 0原文

我是struts2新手。我建立了一个页面,显示员工列表。我可以通过应用过滤条件并单击查找按钮,根据员工的姓名搜索员工。同时,我在左侧为每个员工姓名提供了用于删除操作的复选框。对于所有复选框,我给出了 Integer[] 属性名称,该名称在自定义 Actionclass.deleteaction 中声明,工作正常。但是当我单击“查找”按钮时,该操作未提交。然后我将 Integer[] 更改为 String[] 两个函数都工作正常。会出现什么问题呢?是不是类似,属性只能是 String 类型。

I am new t struts2. i built one page, that shows list of employees. I can seach the employes based on his name by applying filter criteria and click on find button. At the same time, i provided check box in the left side for each employee name for delete operation. for all checkboxes, i gave Integer[] attribute name which is declared in Custom Actionclass.deleteaction is working fine. But when i click Find button the action is not getting submitted. Then i changed Integer[] to String[] both functions are working fine. What will be the problem? is it something like, attributes should only be String type.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

御弟哥哥 2024-09-17 07:37:32

问题的原因是 Struts2 复选框在操作类上设置了布尔属性:

Struts 2 表单标签:复选框

当您将复选框定义为整数时,框架无法将布尔值转换为整数。但是它能够将布尔值转换为字符串。如果检查操作类中的结果,您应该会看到 String[] 填充有“true”和“false”。

一般来说,Struts2 非常擅长将提交的表单数据转换为您想要的任何对象类型。有关详细信息,请查看有关类型转换的文档。

The cause of your problem is that the Struts2 checkbox sets a boolean property on the action class:

Struts 2 Form Tags: Checkbox

When you defined the checkboxes as an Integers, the framework couldn't covert the boolean to an Integer. However it was able to convert the boolean to Strings. If you check the results in your action class, you should see the String[] populated with "true" and "false".

In general Struts2 is pretty good at converting submitted form data to whatever object type you want. Check out the docs on type conversion for more info.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文