Struts OGNL se a instrução relacionada à ação de classe da variável não funciona,
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.
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