gpt4 book ai didi

java - 使用struts2用户填充的entity bean?

转载 作者:行者123 更新时间:2023-11-30 09:13:48 24 4
gpt4 key购买 nike

我有一个名为 GmaThreshold.java 的 EJB:

package cdot.oss.cmsat.gma.ejb.entity;

@Entity
@Table(name="GMA_THRESHOLDS")
@NamedQuery(
name = "getThresholdParameters",
query = "SELECT gmaTh.maxDurationIc, gmaTh.distinctBnumberRatio "
+ "WHERE gmaTh.id.circleId=?1 AND gmaTh.id.tspId=?2 "
+ "AND gmaTh.id.flag=?3 ")
public class GmaThreshold implements Serializable {
@EmbeddedId
private GmaThresholdPK id;

@Column(name="DISTINCT_BNUMBER_RATIO")
private String distinctBnumberRatio;

@Column(name="MAX_DURATION_IC")
private BigDecimal maxDurationIc;

public GmaThresholdPK getId() {
return this.id;
}

public void setId(GmaThresholdPK id) {
this.id = id;
}

public String getDistinctBnumberRatio() {
return this.distinctBnumberRatio;
}

public void setDistinctBnumberRatio(String distinctBnumberRatio) {
this.distinctBnumberRatio = distinctBnumberRatio;
}

public BigDecimal getMaxDurationIc() {
return this.maxDurationIc;
}

public void setMaxDurationIc(BigDecimal maxDurationIc) {
this.maxDurationIc = maxDurationIc;
}
}

我想让实体类的参数在JSP中由用户填写。

<s:textfield id="thresholdParameter_1"
name="gmathreshold.distinctBnumberRatio">
</s:textfield></td>

并且在我的 Action 类中保留一个 bean 实例作为成员变量。

我正在使用 Struts2

这是获取像这样填充的 EJB 实体的正确方法吗?

我应该使用 DTO 吗?

编辑:我在文本字段中从用户那里得到 distinctBnumberRatio,所以它将是一个 String,但是在我的 bean 中它是一个 BigDecimal。如何解决这个问题?

最佳答案

自 3.0 以来,EJB 是简单的 POJO,因此可以在 JSP 中使用 bean。通过评估

中的 OGNL 表达式
"gmathreshold.distinctBnumberRatio"

相应的getters和setters会被调用。然后您可以更新 EJB 容器。 DTO 不属于任何容器,除非您手动或由另一个容器管理它们,并且也可以由表示层使用。他们都是正确的。

关于java - 使用struts2用户填充的entity bean?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20881724/

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