gpt4 book ai didi

java - 使用 param 标签抑制空参数

转载 作者:太空宇宙 更新时间:2023-11-04 14:10:49 24 4
gpt4 key购买 nike

我已经编写了用于许多操作的 JSP。它有一个带参数的链接

链接:

<s:a namespace="/some" action="view">
<s:param name="purpose" value="%{purpose}"/>
<s:param name="type" value="%{type}"/>
<s:property value="%{name}"/>
</s:a>

Action 类:

public class ViewAction extends ActionSupport {

private Long purpose;
private Long type;
private String name;

public Long getPurpose() {
return purpose;
}

public void setPurpose(Long purpose) {
this.purpose = purpose;
}

public Long getType() {
return type;
}

public void setType(Long type) {
this.type = type;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}
}

通常我会初始化这两个参数,但有时一个参数为null。因此,链接是使用 href 生成的,例如

/context/some/view?purpose=1&type=

但我想删除&type=

我尝试了 Param Examples 中的示例.

<s:a namespace="/some" action="view">
<s:param name="purpose" value="%{purpose}"/>
<s:param name="type" value="%{type}"/>
<s:property value="%{name}"/>
<s:param name="suppressEmptyParameters" value="true"/>
</s:a>

但是没有成功

我也尝试过

<s:a namespace="/some" action="view">
<s:param name="purpose" value="%{purpose}"/>
<s:param name="type" value="%{type}" suppressEmptyParameters="true"/>
<s:property value="%{name}"/>
</s:a>

我得到了

java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.String
at org.apache.struts2.components.Param.end(Param.java:129)
at org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:42)

如何解决这个问题?

最佳答案

那行<s:param name="suppressEmptyParameters" value="true"/>没有意义,应该将其从 <s:param> 中删除文档。

<s:param name="type" value="%{type}" suppressEmptyParameters="true"/>是抑制空参数的正确方法,并且由于错误 WW-4275 而不能与非 String-s 一起使用。 .

同时,在下一个版本发布之前,您可以使用toString()避免方法ClassCastException异常。

<s:param name="type" value="type.toString()" suppressEmptyParameters="true"/>

关于java - 使用 param 标签抑制空参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28340689/

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