フォームに入力された”keyword”という値をデータベースから取り出すための処理をしました。 pgAdmin3を起動し、EipTTimelineというテーブルの中身を確認しつつ進めていきました。
TimelineSelectData.java
/** * 一覧データを取得します。 <BR> * * @param rundata * @param context * @return */ @Override public ResultList<EipTTimeline> selectList(RunData rundata, Context context) { try { // 指定グループや指定ユーザをセッションに設定する. setupLists(rundata, context); String keywordParam = rundata.getParameters().getString("keyword"); ResultList<EipTTimeline> list = new ResultList<EipTTimeline>(); if ((useridList != null && useridList.size() > 0)) { // 表示するカラムのみデータベースから取得する. list = TimelineUtils.getTimelineList( uid, Arrays.asList(0), null, current_page, getRowsNum(), 0, useridList, keywordParam); } return list; } catch (Exception ex) { logger.error("timeline", ex); return null; } }
TimelineUtils.java
if ((keywordParam != null) && (!keywordParam.equals(""))) { // 選択したキーワードを指定する. String keyword = "%" + keywordParam + "%"; body.append(" AND "); body.append("eip_t_timeline.note LIKE '"); body.append(keyword); body.append("' "); }
public static ResultList<EipTTimeline> getTimelineList(Integer userId, List<Integer> parentIds, String type, int page, int limit, int minId, List<Integer> userIds, String keywordParam) { if (parentIds == null || parentIds.size() == 0) { return new ResultList<EipTTimeline>( new ArrayList<EipTTimeline>(0), -1, -1, 0);