Struts OGNL if 与操作类变量相关的语句不起作用,

发布于 2025-01-08 22:33:55 字数 442 浏览 0 评论 0原文

问题是: 在我的操作类中,我有一个变量:

 private String commentAdd = "yes";

操作类转到 reslut.jsp,在 reslut.jsp 中我有:

<s:set name="allowAddComment" value="commentAdd"/>
<s:if test="%{#allowAddComment=='yes'}">
                    <script type="text/javascript">
                        window.close();
                    </script>
</s:if>

但它不起作用,一些专家能给我一些建议吗?谢谢。

The problem is:
Inside my action class, i have one variable:

 private String commentAdd = "yes";

And the action class goes to reslut.jsp, inside reslut.jsp i have:

<s:set name="allowAddComment" value="commentAdd"/>
<s:if test="%{#allowAddComment=='yes'}">
                    <script type="text/javascript">
                        window.close();
                    </script>
</s:if>

but it doesn't work, can some expert give me some suggestion? Thanks.

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

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

发布评论

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

评论(2

菩提树下叶撕阳。 2025-01-15 22:33:55

有几件事。

  • 该属性需要通过公共 getter 来公开(或者在 S2 的更高版本中作为公共成员,但最好使用 getter)。
  • 为什么使用字符串作为布尔值?只需使用布尔值即可。
  • 为什么将属性设置为不同的变量?只需使用该属性即可。

确定这确实是您想要的吗?这将在 JavaScript 渲染后尽快关闭窗口。如果可以的话,很好——但如果是这样的话,为什么还要费心渲染窗口呢?

A few things.

  • The property needs to be exposed via a public getter (or in later versions of S2 as a public member, but better to use a getter).
  • Why use a string as a boolean? Just use a boolean.
  • Why set the property to a different variable? Just use the property.

Are you sure this is really what you want? This will close the window as soon as that JavaScript is rendered. If that's okay, fine--although if that's the case, why bother rendering the window at all?

断肠人 2025-01-15 22:33:55
import com.opensymphony.xwork2.ActionSupport;

public class PageAction extends ActionSupport {
private static final long serialVersionUID = 1L;
private boolean addComment;

public boolean isAddComment() {
    return addComment;
}

public void setAddComment(boolean addComment) {
    this.addComment = addComment;
}

public String execute() {
    return SUCCESS;
}

}

<s:if test="%{addComment}">
 <script type="text/javascript">
  window.close();
 </script>
</s:if>
import com.opensymphony.xwork2.ActionSupport;

public class PageAction extends ActionSupport {
private static final long serialVersionUID = 1L;
private boolean addComment;

public boolean isAddComment() {
    return addComment;
}

public void setAddComment(boolean addComment) {
    this.addComment = addComment;
}

public String execute() {
    return SUCCESS;
}

}

<s:if test="%{addComment}">
 <script type="text/javascript">
  window.close();
 </script>
</s:if>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文