-1

Spring mvc でご存知のように、PagedListHolder クラスを使用してページネーション メカニズムを提供できます。ページネーションを提供するメソッドを既に提供しましたが、メソッド内でジェネリック型を渡す方法がわからないため、すべてのページに対してメソッドを宣言することを余儀なくされました

これが私がやったことです:

public class Jobs {
private PagedListHolder<Jobs> jobsPagedList = null;
private JobInfo[]jobs = null;
....
@RequestMapping(value = "jobs/getLatestJobs", method = RequestMethod.GET)
public String provideLatestTweet(HttpServletRequest request){
  ... checking tasks
  jobs = getLatestJobs();
  int firstElement = pagingHandlerForLatestJobs(request);
}

次に、ここに pagingHandlerForLatestJobs() 実装があります:

private int pagingHandlerForLatestJobs(HttpServletRequest request){
  jobsPagedList = new PagedListHolder<JobInfo>(Arrays.asList(jobs));
//========================================================================//  
//How to pass above <JobInfo> classType as a parameter inside my method ? // 
//========================================================================//

 // ... setting some setting & returning the first page
}

目標を達成するために、以下のメソッド シグネチャを試しました。

private int pagingHandlerForLatestJobs(HttpServletRequest request, Class clazz)

そして、次のような引数を渡してみてください:

int firstElement = pagingHandlerForLatestJobs(request, JobInfo.class)

ただし、内部でクラスを渡しているとき:

new PagedListHolder<clazz>(Arrays.asList(jobs));

実行時エラーが発生しました:

PagedListHolder を型に解決できません

1) 私のコードにはどのような問題がありますか? なぜその JobInfo を内部に渡すことができないのですか?

2) Java Reflection API を使用してこの問題を解決できますか? (はいの場合、どのように?)

4

1 に答える 1