小编Nar*_*dra的帖子

如何在Ajax请求中发送当前页码

我使用jQuery DataTable在表中显示大量数据.我正在Ajax请求上获取数据页面,如下所示:

var pageNo = 1;
$('#propertyTable').dataTable( {
    "processing": true,
    "serverSide": true,
    "ajax": "${contextPath}/admin/getNextPageData/"+pageNo+"/"+10,
    "columns": [
        { "data": "propertyId" },
        { "data": "propertyname" },
        { "data": "propertyType" },
        { "data": "hotProperties" },
        { "data": "address" },
        { "data": "state" },
        { "data": "beds" },
        { "data": "city" },
        { "data": "zipCode" }
    ],
    "fnDrawCallback": function () {
        pageNo = this.fnPagingInfo().iPage+1;
        alert(pageNo); // this alerts correct page
     }
} );
Run Code Online (Sandbox Code Playgroud)

这是弹簧控制器:

@RequestMapping(value="/getNextPageData/{pageNo}/{propertyPerPage}")
public @ResponseBody PropertyDatatableDto getNextPageData(@PathVariable Integer pageNo, @PathVariable Integer propertyPerPage) …
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery spring-mvc datatables

10
推荐指数
1
解决办法
2万
查看次数

如何在形成HQL查询时解决由于递归引起的java.lang.StackOverflowError

每当循环中的迭代变得更高时,我就会得到StackOverflowError.我写这样的逻辑:

public List<Vehicle> seacrhCar(Integer from, SearchDto searchDto,List<String> coveredZipcodes) {
    String q = "from Vehicle where 1=1";
    int i=1;

    if(StringUtils.isNotBlank(searchDto.getFromYear()))
        q+=" and year>='"+StringUtils.replace(searchDto.getFromYear().trim(), "'", "''")+"'";

    if(StringUtils.isNotBlank(searchDto.getToYear()))
        q+=" and year<='"+StringUtils.replace(searchDto.getToYear().trim(), "'", "''")+"'";

    if(StringUtils.isNotBlank(searchDto.getManufacturer()))
        q+=" and make='"+StringUtils.replace(searchDto.getManufacturer().trim(), "'", "''")+"'";

    if(StringUtils.isNotBlank(searchDto.getCarModel()))
        q+=" and model='"+StringUtils.replace(searchDto.getCarModel(), "'", "''")+"'";

    if(StringUtils.isNotBlank(searchDto.getTrim()))
        q+=" and trim='"+StringUtils.replace(searchDto.getTrim().trim(), "'", "''")+"'";

    if(StringUtils.isNotBlank(searchDto.getMinPrice()))
        q+=" and priceBaseMsrp>="+searchDto.getMinPrice().trim();

    if(StringUtils.isNotBlank(searchDto.getMaxPrice()))
        q+=" and priceBaseMsrp<="+searchDto.getMaxPrice().trim();

    if(coveredZipcodes.size()>0) {
        q+=" and (";
        for(String zip : coveredZipcodes) {
            q+="zipcode LIKE '%"+zip+"'";
            q+=(i==coveredZipcodes.size())?")":" or ";
            i++;
        }
    }
    q+=" group by vehicle";


    List<Vehicle> …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate

5
推荐指数
1
解决办法
4313
查看次数

HQL 检查字段是否包含字符串列表中的任何字符串

我如何编写 HQL 来检查字段是否包含字符串列表中的任何字符串。我试过这个:

StringBuffer queryString = new StringBuffer("from Property p where status is true");
    if(!searchDto.getLocationTokens().isEmpty()) {
        queryString.append(" and p.city in (:locationTokens) or p.state in (:locationTokens) or p.zipcode in (:locationTokens)");
        for(String locationToken : searchDto.getLocationTokens()) {
            queryString.append(" or p.address LIKE "+locationToken+"%");
        }
    }

Query query = sessionFactory.getCurrentSession().createQuery(queryString.toString());
    if(!searchDto.getLocationTokens().isEmpty())
        query.setParameterList("locationTokens", searchDto.getLocationTokens());

    List<Property> properties = query.list();
Run Code Online (Sandbox Code Playgroud)

但它抛出异常。

在上面的代码中,for-each 循环部分是造成问题的一个原因。

任何帮助表示赞赏。

编辑1:

下面是我得到的异常的堆栈跟踪

19 May 2015 16:42:54,209 ERROR ErrorCounter:54 - line 1:180: unexpected token: null
19 May 2015 16:42:54,211 ERROR ErrorCounter:50 - line 1:180: unexpected …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate hql

2
推荐指数
1
解决办法
8152
查看次数

标签 统计

hibernate ×2

java ×2

spring ×2

ajax ×1

datatables ×1

hql ×1

javascript ×1

jquery ×1

spring-mvc ×1