簡體   English   中英

如何在jsp頁面中顯示所選數據

[英]how to display selected data in jsp page

我的要求如下

我在“ DAO”類中擁有Arraylist,該類包含n個客戶名稱。我已經在“域對象”中設置了ArrayList,並在jsp頁面中使用該“域對象”來顯示客戶名稱。

我在jsp頁面中使用會話范圍,如下所示,

<c:set var="listCustomer" value="${ItemDataResponse.dataItemsList[0].listCustomers}" 
scope="session"/>
<c:set var="CustomerData" value="${ItemDataResponse.dataItemsList[1]}" scope="session"/>


  <div  id="my_jpmorgan">

    <table border="0" width="100%" bgcolor="">
       <tr valign="top" class="lnav">
         <td width=100%">
            <table width="100%" border="0" cellspacing="0" cellpadding="0" class="paddingLeft" bgcolor="">
         <tr>
             <td>
                  <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="">
                    <tr>
                       <td valign="top" height="1px" align="left">
                             <span class="pageHeading_DarkBlue">
                                <c:out value="${CustomerData.customerName[0]}"/>
                             </span>
            </td>

          </tr>
         <tr>
          <td align="right"> 
            <select name="singleSelect" onchange="javascript:onchangeFun(this);"> 
              <c:forEach var="Customer" items="${listCustomer}" >
                  <option value=""> <c:out value="${Customer}" /></option>
               </c:forEach>
             </select>      
           </td>
         </tr>
       </td>
     </tr>
 </table>
</div>

每次第一次登錄應用程序時,ArrayList的第一個客戶名稱應顯示在jsp頁面頂部。 然后加載jsp頁面后

事情是當我從下拉菜單中單擊任何一個客戶名稱時,我必須在jsp頁面頂部顯示客戶名稱(即,如果我在下拉菜單中單擊xxx客戶,則所選xxx客戶名稱應顯示在頂部jsp頁面)。

我能夠在下拉菜單中顯示所有用戶名稱(從ArrayList獲取名稱),但是當我從下拉菜單中選擇客戶名稱時,無法在jsp頁面頂部顯示客戶名稱。

請根據需要修改我的粘貼代碼。 如果可能的話,還給我發送一些示例代碼

注意:我正在使用JSTL標記(我的要求是)。

在上面的jsp代碼中

                     <c:out value="${CustomerData.customerName[0]}"/>

當我從下拉菜單中選擇時,行應在jsp頁面頂部顯示客戶名稱(當前無法正常工作),而下面的行將顯示具有ArrayList中的客戶名稱的下拉窗口(工作正常)

  <select name="singleSelect" onchange="javascript:onchangeFun(this);"> 
    <c:forEach var="Customer" items="${listCustomer}" >
         <option value=""> <c:out value="${Customer}" /></option>
               </c:forEach>
             </select> 

看來您的問題是對HTML表單和JavaScript的工作方式一無所知。

有兩種方法:

  1. 將帶有下拉列表的表單提交到服務器端。 所選客戶將被設置為請求參數,名稱為singleSelect (下拉列表的名稱)。

     <form> <select name="singleSelect" onchange="this.form.submit()"> ... 

    並相應地顯示所選客戶:

     <c:out value="${param.singleSelect}" /> 
  2. 使用JavaScript獲取選定的客戶,並將其設置在您要在其中顯示客戶名稱的HTML元素中。

     <select name="singleSelect" onchange="showSelectedCustomer(this)"> 

    這個JS功能

     function showSelectedCustomer(dropdown) { var selectedCustomer = dropdown.options[dropdown.selectedIndex].value; var currentCustomer = document.getElementById('currentCustomer'); currentCustomer.firstChild.nodeValue = selectedCustomer; } 

    以及您要在其中顯示所選客戶的此占位符:

     <span id="currentCustomer"></span> 

也可以看看:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM