2015-04-17 57 views
0

我必須把參數在豆as.The參數定義的方法是在static.I jsp頁面這樣做原樣不能夠獲取由parameterzied方法在jsp頁面返回值

<% 
String n= "p49_readback"; 
ref.getDbTable(n); 
%> 

通過這個我「M中的Java bean方法獲得價值和方法是

public String getDbTable(String parameter) 
     { 
    String tolerance =null; 
     LinkedHashMap<String, String> map = new LinkedHashMap<String, String>();//Holds the beamline name and status 
     try 
       { 
        con = getConnection(); 
        stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY); 
        String sql="select Tolerance from Reference.dbo.Set_range where Parameter_Name='"+parameter+"'"; 
        System.out.println("sql "+sql); 
        stmt.executeQuery(sql); 
        rs = stmt.getResultSet(); 

        while(rs.next()) 
        { 
        tolerance= (rs.getString(1)); 
        System.out.println("value of tolerance is "+tolerance); 

        } 
       } 
      catch(Exception e) 
      { 
       System.out.println("\nException in getDbTable "+e); 
      } 
      finally 
      { 
       closeConnection(stmt, rs, con); 
      } 
      return tolerance; 

現在我想調用JSP中的這種方法,並將其值存儲到variable.But我不能夠檢索或調用JSP這種方法頁面。 我嘗試作爲

<c:set value="${ref.getDbTable(param.p49_readback)}" var="db"></c:set> 

但它是一個錯誤的做法,我沒有收到由method.How返回值,這樣做呢?

+0

我個人建議不要在JSP中做任何邏輯(比如連接到數據庫),除了顯示內容之外。你使用普通的JSP還是像Spring MVC這樣的框架? – BretC

+0

@ Bret,我正在使用palin jsp,沒有框架。我沒有通過Jsp.I連接數據庫,我需要在JSP中調用這個getDbTable(),我無法訪問它。 –

回答

1

如果使用的是普通的JSP,你可能只是這樣做......

<% 
    String n= "p49_readback"; 
    String reference = ref.getDbTable(n); 
%> 

現在,任何你想用這個,只是做...

<%=reference%> 

你甚至可以做...

<% 
    String n= "p49_readback"; 
    String reference = ref.getDbTable(n); 
%> 
<c:set var="reference" value="<%=reference%>"/> 
+0

我想通過以下jsp代碼比較grtDbtable(n)返回的值?'background-color:lime':'background -color:粉紅色'}「>。這是這樣嗎? –

+0

但是我不能在$ {}中寫<%=​​ reference%>。那麼該怎麼辦? –

+0

@tiddirastogi如果你已經使用了上面提到的「c:set」構造,我認爲你應該能夠將它引用爲$ {reference}(從我做過任何JSP工作起,這已經有一段時間了......) – BretC