是否可以将HTML参数与列表中的JavaBean变量进行比较?

是否可以将HTML参数与列表中的JavaBean变量进行比较?,java,arraylist,collections,javabeans,Java,Arraylist,Collections,Javabeans,我试图访问HTML参数并将其与位于数组列表中的JavaBean变量进行比较。下面是我所拥有的,但是当JSP页面被转发时它不工作。返回的JSP框架没有从数组接收到任何信息 itemBean item=newitemBean(); collection coll=新集合(); List songs=coll.getItems(); 对于(int i=0;i

我试图访问HTML参数并将其与位于数组列表中的JavaBean变量进行比较。下面是我所拥有的,但是当JSP页面被转发时它不工作。返回的JSP框架没有从数组接收到任何信息

itemBean item=newitemBean();
collection coll=新集合();
List songs=coll.getItems();
对于(int i=0;i
JSP页面:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<%@page import="my.pack.collection" %>
    <%@include file="/header.jsp"%>
    <%@include file="/user-navigation.jsp"%>
    <%@include file="/site-navigation.jsp"%>

    <div id="productList">
        <h5><a href="categories.jsp">back</a></h5>
        <h2>Lesson 1</h2>

        <% if ((request.getAttribute("itemCode")) != null ){ %>
            <jsp:include page="item.jsp" flush="true"/>
        <% }%>
        <ul>

            <li><a>Song: ${itemBean.song}</a></li><br>
            <li><b>Artist: ${itemBean.artist}</b></li><br>
            <li><img src=${itemBean.songURL}> </li><br>
            <p> Lyrics: ${itemBean.desc}</p><br>
            <form action="feedback.jsp" method="post">

                <input type="text" name="song"/>  <br />

                <input type="text" name="artist"/><br />
                    <button type="submit" id="save"> Save! </button>
                <button type="submit" id="rate"> Rate It</button>

            </form>

        </ul>

    </div>

    <%@include file="/footer.jsp" %>

第1课
  • 歌曲:${itemBean.Song}

  • 艺术家:${itemBean.Artist}


  • 歌词:${itemBean.desc}




    拯救 评价它
集合Java:包含所需信息的JavaBean数组列表

 package my.pack;

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */


import java.util.*;
/**
 *
 * @author Anastasia
 */
public class collection{
     private List<itemBean> Song;
    public collection(){
    Song = new ArrayList<>();
    //String itemCode;

      //itemBean item = new itemBean();
     Song.add(new itemBean("S1", "View","SHINee","Song",
     "모두 할 말을 잃지 like you<br>\n,
        "","/image/viewShinee.jpg"));

     Song.add(new itemBean("S2","Pray","FTIsland","Song",
             "또 다른 현실 속에 속삭이던 많은 거짓말<br>\n",
             "","/image/pray_FTIsland.jsp"));

     Song.add(new itemBean("S3","X","Monsta X","Song",
     "Yeah ah yeah hey hey hey<br>\n" ,
     "","/image/X_MonstaX.jpg"));

      Song.add(new itemBean("OST3","Stay With Me", "Punch & Chanyeol(EXO)","OST"," 나의 두 눈을 감으면 <br>\n" ,
      "", "/image/GoblinOST.jpg"));

     Song.add(new itemBean("OST2","Before the Sunset--Goblin OST","Eric Name", "OST",
     "나즈막히 건넨 인사가<br>\n",
     "","/image/MadDogOST.jpg"));

    Song.add(new itemBean("OST3","You Are My Everything", "Gummy","OST",
     "처음부터 그대였죠<br>\n" ,
     "","/image/DOTS.jpg"));


}
    public List<itemBean> getItems(){
        return Song;
    }
}
打包my.pack;
/*
*要更改此许可证标题,请在“项目属性”中选择“许可证标题”。
*要更改此模板文件,请选择工具|模板
*然后在编辑器中打开模板。
*/
导入java.util.*;
/**
*
*@作者阿纳斯塔西娅
*/
公共类集合{
私人列表歌曲;
公众收藏(){
宋=新的ArrayList();
//字符串项代码;
//itemBean item=新的itemBean();
添加(新的itemBean(“S1”,“View”,“SHINee”,“Song”,
"모두 할 말을 잃지 像你一样
\n, “,”/image/viewShinee.jpg”); 添加(新项Bean(“S2”、“祈祷”、“FTIsland”、“歌曲”, "또 다른 현실 속에 속삭이던 많은 거짓말
\n“, “,”/image/pray_FTIsland.jsp”); 添加(新的itemBean(“S3”,“X”,“Monsta X”,“Song”, “是啊是啊嘿嘿
\n”, “,”/image/X_MonstaX.jpg”); 添加(新的itemBean(“OST3”,“和我在一起”,“潘趣酒和香奈儿(EXO)”,“OST”,”나의 두 눈을 감으면
\n“, “,”/image/GoblinOST.jpg”); 添加(新的itemBean(“OST2”,“日落前——妖精OST”,“埃里克名字”,“OST”, "나즈막히 건넨 인사가
\n“, “,”/image/MadDogOST.jpg”); 添加(新的itemBean(“OST3”,“你是我的一切”,“口香糖”,“OST”, "처음부터 그대였죠
\n“, “,”/image/DOTS.jpg”); } 公共列表getItems(){ 返回歌曲; } }
我怀疑错误可能是您没有
请求。
在EL中;您是否尝试过
${request.itemBean.song}

你真的应该:

  • 变量名以小写字母开头
  • 以大写字母开头的类名
  • 使用
    地图
    保存您的歌曲集
  • 使用有意义的名称,如Song,而不是ItemBean

  • 您使用哪种技术来访问请求属性(“itemBean”)在您的JSP页面上?也许您可以发布页面的重要部分。@Renardo抱歉,这是JSP页面的编码Coll不是空的,我不相信我发布了集合classIs
    action
    的编码,它是从请求参数设置的?它的值是什么?@Renardo这是如何设置的String action=request.getParameter(“itemCode”)@jan larsen:你刚刚在调用默认构造函数后写到,
    coll
    是空的。但是
    collection
    类有一个填充列表的默认构造函数,所以它不是空的。这很奇怪,但是Anastasia的编码风格似乎与你我不同。Anastasia,我仍然想知道这个值是什么request为
    itemCode
    指定。也许您应该在程序中打印它。一些跟踪可能有助于了解发生了什么。@Renardo我在for循环中添加了一个变量并将其设置为songs.get(I).getItemCode();然后它返回“。因此if语句没有从数组列表中获取itemCode