【问题标题】:refresh a xhtml page刷新一个 xhtml 页面
【发布时间】:2012-04-20 09:11:50
【问题描述】:

我有registration.xhtml 页面,用户将在其中输入数据以进行注册。我以这样的方式编写代码,如果用户单击注册或取消按钮,页面将刷新并且字段变为空。但是假设如果用户在注册屏幕中提供了一些数据,由于某种原因用户转到其他一些page(menu1),回到注册页面,输入的数据还在显示中。

我需要一些建议,这样每次用户点击标题中的链接时,页面都应该刷新,我的标题页面有很多链接,每个链接都是一个 xhtml 页面 以下是我的标题页

<html>
<f:view>
    <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <title>Untitled Document</title>
      <link rel="stylesheet" href="css/styles.css" type="text/css">
      <title>JSP Page</title>
    </head>
    <body bgcolor="#FFFFFF" >
     <h:form>
     <div id="navigation">
      <ul id="mainMenu">                     
       <li class="cat-item cat-item-3"><span>&nbsp;</span>
        <h:outputLink value="register.jsp" >
         <h:outputText value="Registration"/></h:outputLink>
        </li> 
        <li class="cat-item cat-item-2"><span>&nbsp;</span>
         <h:outputLink value="menu1.jsp">
          <h:outputText value="MENU1"/></h:outputLink>
        </li>
        <li class="cat-item cat-item-2"><span>&nbsp;</span>
         <h:outputLink value="menu2.jsp">
          <h:outputText value="MENU2"/></h:outputLink>
        </li>
       </div>
       </h:form>
      </body>
     </f:view>
    </html>

【问题讨论】:

  • 我认为这是因为您将输入保留在会话中。显示注册页面并告诉我们支持 bean 的范围。
  • Ya..my bean 的 Session Scoped...我是否必须使其请求范围...????
  • next/back 转换后页面不刷新不是问题。它实际上刷新并从您的会话 bean 加载数据。经验法则说:不要使用会话 bean,除非你真的确定你需要并且知道可能的副作用。在会话 bean 中只保留必要的数据,即用户选择等。

标签: java jsf jakarta-ee jsf-2


【解决方案1】:

如果支持 bean 在会话范围内,就会发生这种情况。会话范围的 bean 实例与客户端和服务器之间建立的 HTTP 会话一样长。因此,该会话中的每个 HTTP 请求都使用相同的会话范围 bean 实例。这不是你想要的。

将 bean 放入请求或视图范围内。

另见:

【讨论】:

    猜你喜欢
    • 2014-06-21
    • 2012-09-15
    • 1970-01-01
    • 1970-01-01
    • 2014-10-31
    • 2020-12-14
    • 2023-01-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多