当前位置: 首页 > 面试题库 >

Struts2将列表数据从JSP发送到Action类:替代方法

宣原
2023-03-14
问题内容

我正在向一位同事解释如何使用说明的索引从JSP页面获取列表数据并返回到操作类的方法。他不太了解,自己摸索了一下,直到他突然间完全不使用索引使它起作用了!

在他的JSP页面中,他有:

<input type="checkbox" name="contactNameList" value="someValue1">
<input type="checkbox" name="contactNameList" value="someValue2">
<input type="checkbox" name="contactNameList" value="someValue3">
<input type="checkbox" name="contactNameList" value="someValue4">

在他的动作课上,他遇到了一些“合适的”设置者:

public List<String> getContactNameList()

public void setContactNameList(List<String> list)

我对为什么这项工作感到困惑。我 认为 这可行,因为他正在发送非bean数据(在这种情况下为字符串),并且Struts2 /
OGNL中内置了智能功能,可以将值附加到列表中而不是覆盖它们。

在这种“没有索引”的情况下,谁能详细解释背后的秘密?如何使用上面的片段实例化并填充字符串列表?


问题答案:

您应该理解,bean数据而不是bean数据作为参数传递给操作。如果实现,这些参数具有可以找到的结构ParameterAware

请注意,将返回给定名称的所有参数值,因此映射中的对象类型为java.lang.String[]

然后,XWork Type
Conversion会尽最大努力将此映射转换为bean属性。请参阅内置类型转换支持。

框架中的常规类型转换是透明的。通常,您要做的就是确保HTML输入具有可在OGNL表达式中使用的名称。(HTML输入是表单元素和其他GET /
POST参数。)

在无索引的情况下,参数被映射在一个键下,而不是在其自己的名称下使用索引名称。



 类似资料:
  • 我在JSP页面中有一个带有下拉列表的表单 在我的行动方法中,我正在做以下事情: 它工作得很好,但是我还想发回相同的字符串,这样我就可以将“selected”字符串添加到正确的选项元素中,以便在提交表单时保持选中状态。 现在我正在用我的行动方法做这件事 但我不知道如何将条件逻辑添加到我的jsp中,使其类似于

  • 我正在检索数据库值并将其放入数组列表(al)。该数组列表以表的形式显示在JSP页面中。我想修改JSP页面中的值,并使用Struts2更新数据库中的新值。我该怎么做? 主要行动类 这是POJO班 这是显示数组列表的JSP页面

  • 使用Struts2和JSP的技术在Jsp中,我正在检查我的会话值是否被设置。 现在,我的Action类中有另一个随机变量(我无法在会话范围内设置此变量),现在,我的会话键将是变量,后面附加值,那么如何在JSP中检查这个新的会话键呢。 我想要的东西就像 第一个问题是如何将这个变量从action类传递到JSP,以及如何在JSP中检查它。 我试过类似的东西 比在动作类的方法(这个动作类的方法将重定向到J

  • 我成功地将一个整数从处理发送到Arduino,但现在我想发送一个由三个整数组成的数组,但我无法让它工作。我想使用Arduino创建一个蜂鸣器反馈,哪个处理将控制激活哪个蜂鸣器。例如,从处理发送的数据应该是[1,0,1],这意味着传感器1和3应该开始工作。蜂鸣器应该能够同时激活,以防[1,1,1]通过。 这是我到目前为止的代码:我试图理解什么数据被发送回Arduino,以了解如何使用它,我不断得到一

  • 我正在构建一个简单的web应用程序,并尝试创建一个登录页面。该页面由一个带有加载servlet的表单的JSP组成。 在servlet中: 这段代码可以工作,但它在URL字符串中包含了用户名和密码,所以这显然不是一个好的做法。我尝试使用POST来实现这一点,但我得到了一个错误。(HTTP状态405-此URL不支持HTTP方法POST) 我需要知道如何使用POST将参数从JSP发送到Servlet。我

  • 如何使用Kotlin声明并调用以函数列表为参数的函数。我在单个函数的函数中使用了参数,但是如何在函数列表中使用参数呢? 这个问题展示了如何将一个函数发送给一个函数:Kotlin:如何将一个函数作为参数传递给另一个函数?对于一系列函数,最好的方法是什么?

  • 问题内容: 我有一个在我和它是一个连接到。当我单击时,我想说“ 单击按钮”。 这可能吗? 我知道两个连接到同一对象的对象可以轻松地相互通信并相互发送数据。但是对象可以将数据发送到对象中吗 编写自己的程序并将其附加到程序上是更好的编程吗?然后,我可以简单地让两个片段相互发送数据。 抱歉,如果这不是StackOverflow的正确类型。我是新手,因此无法在此问题上找到清晰的解释。 提前致谢! 问题答案

  • 问题内容: 当我尝试将Servlet中的列表值设置为会话变量并像JSP一样访问它时, 做得到 JSP 我在JSP中遇到错误,因为“列表无法解析为类型” 那我该怎么做呢?我想将列表从Servlet传递到JSP并填充一个下拉列表。 问题答案: 您要导入列表和演员表吗?