Sadece (yani sadece istek veya uygulama fasulye kapsamlı kullanın) görünümü/oturum fasulye kapsamlı kullanmayın ve set devlet web.xml
aşağıdaki bağlam parametresini ayarlayarak yerine server
(varsayılan) client
kaydetme.
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>client</param-value>
</context-param>
Sonra MTU oturumu oluşturmaz ve gerektiğinde formda ismi javax.faces.ViewState
ile gizli bir giriş alanında görünüm durumunu saklar.
Oturumları oluşturma ve yönetme maliyeti oldukça göz ardı edilebilir. Ayrıca, istemci tarafı görünüm durumu tasarrufu kullanılırken, görüntüleme durumunu ve ağ bant genişliğini serileştirme maliyetini (hala) karşılamanız gerekir.
Güncelleme Yorumlarınız göre:
@BalusC Evet, bu genel bir çözüm olabilir. Ancak bu yönteme yalnızca bu genel sayfada ihtiyacım var. Diğer sayfalarda sunucu tarafı durum tasarrufu yöntemini istiyorum.
Ah tamam. Maalesef, JSF/Facelets’in oturumu devre dışı bırakması ya da istek durumuna bağlı olarak durum durumunu kaydetmesi için herhangi bir yol göremiyorum. JSF <h:form>
yerine düz bir HTML <form>
kullanmayı düşünürüm, başka bir JSF sayfasına gönderir ve JSF sayfasıyla ilişkili olarak fasulye içinde @ManagedProperty
'u kullanır. Örneğin. Aslında BalusC gelen cevap
@ManagedBean
@RequestScoped
public class Register {
@ManagedProperty(value="#{param.username}")
private String username;
@ManagedProperty(value="#{param.password}")
private String password;
@PostConstruct
public void init() {
// Do your thing here.
System.out.println("Submitted username/password: " + username + "/" + password);
}
// ...
}
@BalusC Söz konusu neden eklenmiştir. – angelcervera