Bagaimana cara menggunakan session di halaman JSP untuk mendapatkan informasi?

Saya memiliki halaman JSP yang digunakan untuk mengedit beberapa info pengguna. Ketika pengguna masuk ke situs web, saya menyimpan informasi dalam sesi, kemudian di halaman edit saya, saya mencoba yang berikut ini:

<%! String username=session.getAttribute("username"); %>
<form action="editinfo" method="post">
    <table>
        <tr>
            <td>Username: </td><td> <input type="text" value="<%=username %>" /> </td>
        </tr>
    </table>
</form>

tetapi memberikan kesalahan yang mengatakan sesi tidak dapat diselesaikan. Apa yang bisa saya lakukan?

Larutan

Objek-objek JSP implisit seperti session, request dll. tidak tersedia di dalam deklarasi JSP `` tag.

Anda dapat menggunakannya secara langsung di dalam ekspresi Anda sebagai

<td>Username: </td>
<td><input type="text" value="" /></td>

Pada catatan lain, penggunaan scriptlet dalam JSP telah lama tidak digunakan lagi. Penggunaan EL (bahasa ekspresi) dan tag JSTL sangat dianjurkan. Sebagai contoh, di sini Anda dapat menggunakan EL sebagai

<td>Username: </td>
<td><input type="text" value="${username}" /></td>

Bagian terbaiknya adalah resolusi ruang lingkup dilakukan secara otomatis. Jadi, di sini username bisa berasal dari cakupan halaman, atau permintaan, atau sesi, atau aplikasi dalam urutan itu. Jika untuk instance tertentu Anda perlu menimpa ini karena tabrakan nama, Anda dapat secara eksplisit menentukan cakupan sebagai

<td><input type="text" value="${requestScope.username}" /></td> or,
<td><input type="text" value="${sessionScope.username}" /></td> or,
<td><input type="text" value="${applicationScope.username}" /></td>
Komentar (1)

Gunakan

Perhatikan bahwa penggunaan `diterjemahkan ke tingkat kelas, tetapi permintaan hanya tersedia dalam metodeservice()` dari servlet yang diterjemahkan.

Lihat bagaimana kode JSP diterjemahkan ke servlet..

Komentar (2)

form action="editinfo" method="post">

    <table>
        <tr>
            <td>Username: </td><td> <input type="text" value="" /> </td>
        </tr>

    </table>

tambahkan ``

Komentar (0)