criando objetos imutáveis ??em JSPs
Pergunta
Eu sei que você pode usar a tag <jsp:useBean>
a objetos instanciar dentro JSPs sem recorrer ao código scriptlet. No entanto, eu gostaria de instanciar um Integer que valor é o resultado de uma expressão EL, algo como:
<jsp:useBean id="total" class="java.lang.Integer">
<jsp:setProperty name="amount" value="${param1 + param2}"/>
</jsp:useBean>
É claro que este trabalho não vai, porque objetos inteiros não têm uma propriedade chamada 'quantidade', a única forma o seu valor pode ser definido é através de um parâmetro de construtor (objetos ou seja Inteiros são imutáveis). Existe alguma maneira para instanciar tal objeto e defini-lo de valor sem o uso de código de scriptlet?
Obrigado, Don
Solução
<c:set var="amount" value="${param1 + param2}" scope="page" />
Outras dicas
wrappers primitivos também têm nenhum construtor padrão para que você não pode mesmo initialize que forma.
Eu não estou certo de que EL é suposto ser usado dessa forma. É mais de um idioma de modelo. Não está claro qual a vantagem que você está tentando fazer tem sobre algo como:
<%
Integer total = new Integer(param1 + param2);
%>
E, em seguida, apenas usando <% =% total> onde você precisa o valor a ser emitidos. Você também pode fazer:
<%
pageContext.setAttribute("total", new Integer(param1 + param2));
%>
Se você deseja que o valor seja no âmbito página como useBean vai fazer.
Se você tem um feijão, você pode simplesmente atualizar o feijão com param1 e 2? Criar um método, setAmount (param1, param2), e defini-lo antes de usar getAmount (), que é o que o feijão vai chamada.