SORU
18 HAZİRAN 2011, CUMARTESİ


Nasıl JSP/EL bir statik yöntemi çağırmak için?

JSP yeniyim. MySQL ve JSP sayfaları bağlanmayı denedim ve gayet iyi çalışıyor. Ama burada yapmam gereken şeyi. Ben bir tablo olarak adlandırılan öznitelik "". denge Onu almak ve yeni bir değeri hesaplamak için kullanın "". miktarda (Yazdırma değilim"") denge.

 <c:forEach var="row" items="${rs.rows}">
        ID: ${row.id}<br/>
        Passwd: ${row.passwd}<br/>
        Amount: <%=Calculate.getAmount(${row.balance})%>
 </c:forEach>

JSTL etiketleri içinde ekleme kod parçacıkları için mümkün değil gibi görünüyor.

CEVAP
18 HAZİRAN 2011, CUMARTESİ


Getiremezsinizkod parçacıklarıve EL. Birini ya da diğerini kullanın. Berikod parçacıklarıon yıldan fazla bir süredir cesareti, EL için gitmek gerekir.

Temelde 2 seçenek (balance Calculate#getAmount() double varsayarak).

  1. Sadece başka bir alıcı ekleyin.

    public double getAmount() {
        return Calculate.getAmount(balance);
    }
    

    Ve bunu kullanın:

    Amount: ${row.amount}
    

  2. Ya da, EL bir fonksiyonu olarak Calculate#getAmount() ilan. İlk /WEB-INF/functions.tld Bir dosya oluşturun:

    <?xml version="1.0" encoding="UTF-8" ?>
    <taglib 
        xmlns="http://java.sun.com/xml/ns/javaee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"
        version="2.1">
    
        <display-name>Custom Functions</display-name>    
        <tlib-version>1.0</tlib-version>
        <uri>http://example.com/functions</uri>
    
        <function>
            <name>calculateAmount</name>
            <function-class>com.example.Calculate</function-class>
            <function-signature>double getAmount(double)</function-signature>
        </function>
    </taglib>
    

    Ve aşağıdaki gibi kullanabilirsiniz

    <%@taglib uri="http://example.com/functions" prefix="f" %>
    ...
    Amount: ${f:calculateAmount(row.balance)}">
    

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BrandonHarrisWalker

    BrandonHarri

    27 Kasım 2006
  • brokenbellsVEVO

    brokenbellsV

    11 EYLÜL 2009
  • Google

    Google

    18 EYLÜL 2005