2017-08-15 62 views
0

Im得到以下错误: String类型的方法valueOf(Object)不适用于参数(void)<%= loadProductListView( “男人”, “衬衫”)%>String类型的方法valueOf(Object)不适用于参数

在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'); 

回答

0

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

我不知道你真正想实现的,因为你的代码是没有锯齿和混杂HTML的意大利面条,JavaScript中,JSPL标签和脚本,所以我只能说的是,你这样做是错误的

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

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

相关问题