Struts OGNL se a instrução relacionada à ação de classe da variável não funciona,

StackOverflow https://stackoverflow.com/questions/9432417

  •  12-11-2019
  •  | 
  •  

Pergunta

O problema é:Dentro da minha classe de ação, eu tenho uma variável:

 private String commentAdd = "yes";

E a classe de ação vai para reslut.jsp, dentro reslut.jsp que eu tenho:

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

mas ele não funcionar, pode algum especialista me dar alguma sugestão?Obrigado.

Foi útil?

Solução

Algumas coisas.

  • A propriedade precisa ser exposta através de um getter (ou em versões posteriores do S2 como um membro público, mas é melhor usar um getter).
  • Por que usar uma seqüência de caracteres como um booleano?Basta usar um valor booleano.
  • Por que definir a propriedade para uma variável diferente?Basta usar a propriedade.

São você com certeza isso é realmente o que você quer?Isto irá fechar a janela em breve como que o JavaScript é processado.Se está tudo bem, tudo bem--embora se esse é o caso, por que se preocupar renderização da janela?

Outras dicas

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>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top