2015-05-24 37 views
0

我有一個JSP頁面,其中有兩個紙下拉菜單(POLYMER)。事實是它裏面的內容取決於SQL詢問。如何根據另一個核心菜單選定值更改核心菜單內容?

<paper-dropdown-menu label="Categoria" Id="categoria" class="cat1" name="categoria" onclick=categoria()> 
 
         <paper-dropdown class="dropdown"> 
 
          <core-menu id="cat1" class="menu" > 
 
           
 
           <% 
 
            try{ 
 
                conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/kothuwa?"+"user=Kothuwa&password=1234"); 
 

 
             stm=conn.createStatement(); 
 
          
 
          
 
          
 
             query="SELECT categoria FROM categoria"; 
 
             rs=stm.executeQuery(query); 
 
             while(rs.next()){ 
 
              %> 
 
              <paper-item><%=rs.getString(1)%></paper-item><% 
 
             } 
 
            }catch(SQLException er){} 
 
             %> 
 
           
 
            
 
           
 
          </core-menu> 
 
         </paper-dropdown> 
 
        </paper-dropdown-menu>

現在,我已經得到了另一篇論文,下拉-menu.The內容取決於用戶在前面的下拉菜單中選擇了什麼。 (我必須執行另一個查詢,其中列的值等於用戶選擇的值,以便我可以將查詢的結果插入到第二個紙張下拉菜單中)

回答

0

[免責聲明:我對聚合物一無所知。不過,我希望這個答案在你使用javascript框架的時候會很有用]

你需要一個基於你的第一個組合的選擇的第二個組合的動態行爲。現在第一個組合是好的(但是,我會在後面進行一些觀察)。你的第二個組合不能完全如此。你的第二個組合必須在第一個組合發起的onchange事件中填充。你必須實現一些與你的服務器端的交互 - 也許一個REST服務返回一個JSON字符串,第二個組合內容可以用來填充它。確切的機制必須是您選擇框架時更舒適或執行風險較低的機制等。

對您的代碼的一些評論:如果您打算在生產環境中工作,我強烈建議你可以將SQL查詢從JSP中分離出來,以保持數據訪問不受數據表示的影響。這將使您的代碼在活着並生成後更容易進行更改。

順便說一句,它始終是一個糟糕的主意離開清空catch()聲明,並不重要,你把它;)