- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经在这里搜索并找到了几种方法,但我无法让它们为我的项目工作。
我想显示一个对象列表的编辑页面,这些对象应该立即更新。我使用模型驱动的架构方法来实现这一点,但我无法让它正常运行。我总是可以显示和迭代列表及其值,但我不能修改它的值。
所以这就是我目前正在做的事情:
我的数据库中有一个模型“Teilzeitgrad”,它有一些带有 getter 和 setter 的简单属性。
public class Teilzeitgrad {
private Date datumAb;
private Date datumBis;
private double betrag;
// ... getters and setters
}
public class DienstabschnittViewJahrAction implements ModelDriven<List<Teilzeitgrad>>, Preparable
{
List<Teilzeitgrad> teilzeitgrads;
private String tzgTypKey;
private Integer jahrIndex;
public String execute() {
return SUCCESS;
}
public List<Teilzeitgrad> getModel()
{
if(teilzeitgrads == null) {
teilzeitgrads = getTeilzeitgradListByTypAndJahr(getTzgTypKey(), getJahrIndex());
}
return teilzeitgrads;
}
public List<Teilzeitgrad> getTeilzeitgrads()
{
return teilzeitgrads;
}
public void setTeilzeitgrads(List<Teilzeitgrad> teilzeitgrads)
{
this.teilzeitgrads = teilzeitgrads;
}
@Override
public void prepare() throws Exception
{
// TODO Auto-generated method stub
}
public String getTzgTypKey()
{
return tzgTypKey;
}
public void setTzgTypKey(String tzgTypKey)
{
this.tzgTypKey = tzgTypKey;
}
public Integer getJahrIndex()
{
return jahrIndex;
}
public void setJahrIndex(Integer jahrIndex)
{
this.jahrIndex = jahrIndex;
}
}
struts.xml
中的 Action 映射定义如下:
<action name="*/auth/GroupAdmin/processEditDienstabschnittJahr" method="execute" class="org.hocon.ul.portal.action.DienstabschnittViewJahrAction">
<result name="success" type="redirect">${referer}</result>
</action>
<ul:form action="auth/GroupAdmin/processEditDienstabschnittJahr">
<s:iterator value="model" status="rowStatus">
<tr>
<td style="text-align: center;">
<s:date name="model.get(#rowStatus.index).datumAb" var="datumAb_DE" format="dd.MM.yyyy" />
<s:textfield style="width:70px;" name="model.get(#rowStatus.index).datumAb" value="%{#datumAb_DE}" label="DatumAb"></s:textfield >
</td>
<td style="text-align:center;">
<s:date name="model.get(#rowStatus.index).datumBis" var="datumBis_DE" format="dd.MM.yyyy" />
<s:textfield style="width:70px;" name="model.get(#rowStatus.index).datumBis" value="%{#datumBis_DE}" label="DatumBis"></s:textfield >
</td>
<td class="currency">
<s:set var="tzgBetrag">
<fmt:formatNumber type="NUMBER" maxFractionDigits="0"><s:property value="%{getBetrag()*100}"></s:property></fmt:formatNumber>
</s:set>
<s:textfield style="width:30px;" maxlength="3" name="model.get(#rowStatus.index).betrag" value="%{#tzgBetrag}" label="Betrag"></s:textfield >
</td>
</tr>
</s:iterator>
<s:submit style="width:24px; height:24px;" type="image" src="../../../res/24px/floppy-disk.png" value="Speichern"></s:submit>
</ul:form>
setTeilzeitgrads(List<Teilzeitgrad> teilzeitgrads)
甚至根本没有被调用。
<s:textfield style="width:70px;" name="teilzeitgrads[#rowStatus.index].datumAb" value="%{#datumAb_DE}" label="DatumAb"></s:textfield >
最佳答案
好的 - 这是列表索引的一个非常基本的工作示例。主要的变化是将模型的创建从 getModel() 移到 prepare()。这是因为 getModel() 会为您设置列表所需的每个值调用 - 所以您最终会在每次覆盖之前的更改时重新创建模型。
package com.blackbox.x.actions;
import java.util.ArrayList;
import java.util.List;
import com.blackbox.x.actions.ListDemo.ValuePair;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.opensymphony.xwork2.Preparable;
public class ListDemo extends ActionSupport implements ModelDriven<List<ValuePair>>, Preparable {
private List<ValuePair> values;
@Override
public List<ValuePair> getModel() {
return values;
}
public String execute() {
for (ValuePair value: values) {
System.out.println(value.getValue1() + ":" + value.getValue2());
}
return SUCCESS;
}
public void prepare() {
values = new ArrayList<ValuePair>();
values.add(new ValuePair("chalk","cheese"));
values.add(new ValuePair("orange","apple"));
}
public class ValuePair {
private String value1;
private String value2;
public ValuePair(String value1, String value2) {
this.value1 = value1;
this.value2 = value2;
}
public String getValue1() {
return value1;
}
public void setValue1(String value1) {
this.value1 = value1;
}
public String getValue2() {
return value2;
}
public void setValue2(String value2) {
this.value2 = value2;
}
}
}
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
</head>
<body>
<s:form action="list-demo" theme="simple">
<table>
<s:iterator value="model" status="rowStatus">
<tr>
<td><s:textfield name="model[%{#rowStatus.index}].value1" value="%{model[#rowStatus.index].value1}"/></td>
<td><s:textfield name="model[%{#rowStatus.index}].value2" value="%{model[#rowStatus.index].value2}"/></td>
</tr>
</s:iterator>
</table>
<s:submit/>
</s:form>
</body>
</html>
关于forms - 支柱 2 : updating a list of objects from a form with model driven architecture,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13028113/
我试图通过 Hibernate 使用 struts 作为 Controller 以简单的形式保存数据,但问题是,当我提交表单时出现错误 Cannot invoke com.myapp.struts.f
我正在尝试在 Select 标记中使用 foreach 循环。
在您的 JavaScript 控制台(Chrome 或其他)上使用 jQuery 试试这个。 var jo = $(""); //test xml jo.attr("required"); //ret
如何使用Javascript为struts逻辑标签赋值,我尝试了很多方法但从未成功。 这是示例代码: 谢谢。 最佳答案 您无法使用 Javascript 为逻辑标记分配值。 logic:equal
我正在计算 Action 类中搜索屏幕中的页数。我需要从 1 迭代到显示带有链接的页码,但我找不到使用 执行此操作的方法。 Java 等效代码将是,请让我知道哪里有办法在带有 struts 2.0
我正在研究 Struts 程序,并在其中一个 JSP 页面中遇到了带有 styleClass 属性的 html 标记。 所以,它看起来像: 关于css - 支柱 html :text stylecl
我有以下问题:当我完成一个表单并且操作保存表单的值时,我需要传递一个参数(例如 ID ),这将转发到结果=“成功”并且我需要在成功中调用的操作与ID 和其他参数稍后在下一个表单中使用以保存此信息(in
以下struts html标签有什么区别: "html:image"和 "html:img" 我搜索了 apache 文档,但找不到区别。 最佳答案 html:image 呈现一个类型为“image”
我有一个提交到详细信息页面的表单,其中有一个按钮。我在我的映射文件中放置了一个 Action 以将一个 Action 链接到该按钮,该按钮应将用户发送回表单并将其清空。 我可以正确地重定向它,但表单仍
我有一个 jsp 页面,它根据查询参数将信息加载到各个表中,但是我希望能够使用标记迭代返回的列表,并评估每次迭代是否来自数据库的值 == 到“1” "使用 then 执行结果 1,否则执行结果 2。
如何防止我的网站进行sql注入(inject) 我正在使用 Struts 2 、DB MY sql 。 最佳答案 我认为最好的方法是不要重新发明轮子并使用现有的工具。对于小型项目,我建议在查询数据库时
我是 Struts 2 的新手,我一直在关注有关 Struts 2(Koushik) 的视频教程。我创建了 Struts.xml、操作类和 JSP,与教程中创建的相同。但它给出了以下异常。 异常: J
如何在 Struts2 上将 Json 发送到操作? 最佳答案 这是一个short tutorial与struts2 grid plugin相关,我想你也可以在没有grid plugin的情况下采用它
我有一个带有以下代码的 Struts 2 jsp... snip 问题是类别背后的 java 代码是.. private static final CategoryEnum[] PRI
我想从另一个调度操作调用dispatchAction的方法。我希望当我单击更新或删除时,“内部显示用户方法”将在我的 jsp 上显示。 Struts 配置文件
我有一个表单 (form.jsp) 和一个连接的 FormAction ActionA。 ActionA 进行验证并存储 ActionErrors,form.jsp 将使用 打印它们。标签。所有这一
我有一个带有名为 jspString 的字符串属性的操作类。我使用属性 jspString 为该操作类的结果 JSP 创建内容。我已经包含了我的操作类和生成的 JSP 代码。我的问题是,当我尝试使用
我正在尝试在 2 个 Action 类之间传递数据。我目前正在做这个 在我的第一个 Action 类中 doExecute(){ request.setAttribute("Orde
我尝试将 url 参数发送到 Action 类,如下所述:How to access url parameters in Action classes Struts 2 如果我喜欢 next,它会起作
我需要你的帮助。问题是: tomcat 在 时间后销毁 session 结束了 用户点击应用内的链接 我们得到错误: java.lang.IllegalStateException at or
我是一名优秀的程序员,十分优秀!