String类型中的方法valueOf(Object)不适用于参数

时间:2017-08-15 16:19:06

标签: jsp

我收到以下错误: String类型中的方法valueOf(Object)不适用于参数(void)<%= loadProductListView(" men"," shirt")%>

在javascript中我调用loadProductListView方法:

                   <script>
                   $(document).ready(function () {
                   $("#idMenShirts").click(function () {
                  $("#idListView").html('');
                 <%=loadProductListView("men","shirt")  %>
                  });
                 </script>

这里我已经声明了loadProductListView

                       <%!
                   public static void  loadProductListView(String cat,String 
                                                                      type) 
                       {    
                           %>  
                    <sql:setDataSource var = "snapshot" driver = 
                   "oracle.jdbc.driver.OracleDriver"
                     url = "jdbc:oracle:thin:@localhost:1521:XE"
                   user = "system" password = "1234" />
                 System.out.println("connected for products");
                 <c:set var = "cat" value = "$(cat)"/>
                   <c:set var = "type" value = "$(type)"/>
                      <sql:query dataSource = "${snapshot}" var = "result">
                       SELECT product_name,product_desc,image_desc FROM 
                      products WHERE product_category= ? and product_type= 
                                                                        ?; 

        <sql:param value="${cat}" />
        <sql:param value="${type}" />
        </sql:query>
        <script>
         <c:forEach var = "row" items = "${result.rows}">  

          var img= <c:out value = "${row.image_desc}"/> +".jpg";
          var name=<c:out value = "${row.product_name}"/>;
          var desc=<c:out value = "${row.product_desc}"/>;
          var pro_desc=<c:out value = "${row.image_desc}"/>+".jsp";





 $("#one ul").append('<li class="ui-li-has-thumb"><a href="'+pro_desc+'" class="ui-btn ui-btn-icon-right ui-icon-carat-r">' +
                    '<img src="img/' + img + '" style="height: 80px;width: 80px;"/>' +
                    '<h2>' + name + '</h2>' +
                    '<p>' + desc + '</p>' +
                    '</a>' +
                    '</li >');


    $('#one ul').listview('refresh');

               

1 个答案:

答案 0 :(得分:0)

您正在尝试打印方法loadProductListView()返回的结果。但是这个方法返回void。所以这没有意义。

我不知道你真正想要实现什么,因为你的代码没有缩进,是混合的HTML,JavaScript,JSPL标签和scriptlet的意思,所以我只能说你做错了

  • 不要使用scriptlet
  • 不要使用sql标签。他们被正式记录为快速而肮脏的黑客
  • 将您的逻辑(数据库访问,参数处理等)放在编写为Java类的控制器中,从servlet调用,并使用JSP与JSTL,自定义标记,但没有单个scriptlet,专门用于从存储在中的bean生成HTML控制器的请求。

有很多框架可以帮助您以正确的方式构建应用程序(以及更多)。选择其中一个并使用它。