Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
C
cms_sys
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
西魏
cms_sys
Commits
b033abee
Commit
b033abee
authored
Mar 03, 2019
by
Sun Xin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
搜索
parent
2443a80c
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
64 additions
and
60 deletions
+64
-60
SearchAction.java
src/main/java/net/mingsoft/cms/action/web/SearchAction.java
+60
-56
search.htm
src/main/webapp/templets/1/default/search.htm
+4
-4
No files found.
src/main/java/net/mingsoft/cms/action/web/SearchAction.java
View file @
b033abee
...
...
@@ -45,6 +45,7 @@ import net.mingsoft.basic.biz.IColumnBiz;
import
net.mingsoft.basic.entity.ColumnEntity
;
import
net.mingsoft.cms.biz.IArticleBiz
;
import
net.mingsoft.cms.util.CmsParserUtil
;
import
net.mingsoft.mdiy.biz.IContentModelFieldBiz
;
import
net.mingsoft.mdiy.biz.ISearchBiz
;
import
net.mingsoft.mdiy.entity.ContentModelFieldEntity
;
import
net.mingsoft.mdiy.entity.SearchEntity
;
...
...
@@ -123,6 +124,8 @@ public class SearchAction extends BaseAction {
Map
<
String
,
String
>
basicField
=
getMapByProperties
(
net
.
mingsoft
.
mdiy
.
constant
.
Const
.
BASIC_FIELD
);
// 文章字段集合
Map
<
String
,
Object
>
articleFieldName
=
new
HashMap
<
String
,
Object
>();
// 自定义字段集合
Map
<
String
,
String
>
diyFieldName
=
new
HashMap
<
String
,
String
>();
// 遍历取字段集合
if
(
field
!=
null
)
{
for
(
Entry
<
String
,
String
[]>
entry
:
field
.
entrySet
())
{
...
...
@@ -141,11 +144,15 @@ public class SearchAction extends BaseAction {
// 若为文章字段,则保存至文章字段集合;否则保存至自定义字段集合
if
(
ObjectUtil
.
isNotNull
(
basicField
.
get
(
entry
.
getKey
()))
&&
ObjectUtil
.
isNotNull
(
value
))
{
articleFieldName
.
put
(
entry
.
getKey
(),
value
);
}
}
else
{
if
(!
StringUtil
.
isBlank
(
value
))
{
diyFieldName
.
put
(
entry
.
getKey
(),
value
);
}
}
}
}
}
Map
whereMap
=
this
.
searchMap
(
articleFieldName
,
null
,
null
);
Map
whereMap
=
this
.
searchMap
(
articleFieldName
,
diyFieldName
,
null
);
// 获取符合条件的文章总数
int
count
=
articleBiz
.
getSearchCount
(
null
,
whereMap
,
BasicUtil
.
getAppId
(),
null
);
int
typeId
=
BasicUtil
.
getInt
(
"categoryId"
,
0
);
...
...
@@ -175,25 +182,22 @@ public class SearchAction extends BaseAction {
next
=
pageNo
+
1
;
pre
=
pageNo
==
1
?
1
:
pageNo
+
1
;
}
String
url
=
BasicUtil
.
getUrl
()
+
request
.
getServletPath
()
+
"?"
;
String
url
=
BasicUtil
.
getUrl
()
+
request
.
getServletPath
()
+
"?"
+
BasicUtil
.
assemblyRequestUrlParams
(
ParserUtil
.
PAGE_NO
.
split
(
""
))
;
String
pageNoStr
=
"&"
+
ParserUtil
.
PAGE_NO
+
"="
;
BasicUtil
.
removeUrlParams
(
ParserUtil
.
PAGE_NO
.
split
(
""
));
//下一页
String
nextUrl
=
url
+
BasicUtil
.
assemblyRequestUrlParams
()+
pageNoStr
+
next
;
String
nextUrl
=
url
+
pageNoStr
+
next
;
//首页
String
indexUrl
=
url
+
BasicUtil
.
assemblyRequestUrlParams
()
+
pageNoStr
+
1
;
String
indexUrl
=
url
+
pageNoStr
+
1
;
//尾页
String
lastUrl
=
url
+
BasicUtil
.
assemblyRequestUrlParams
()
+
pageNoStr
+
total
;
String
lastUrl
=
url
+
pageNoStr
+
total
;
//上一页
String
preUrl
=
url
+
BasicUtil
.
assemblyRequestUrlParams
()
+
pageNoStr
+
pre
;
String
preUrl
=
url
+
pageNoStr
+
pre
;
Map
<
String
,
Object
>
pageMap
=
new
HashMap
<
String
,
Object
>();
pageMap
.
put
(
ParserUtil
.
INDEX_URL
,
indexUrl
);
pageMap
.
put
(
ParserUtil
.
NEXT_URL
,
nextUrl
);
pageMap
.
put
(
ParserUtil
.
PRE_URL
,
preUrl
);
pageMap
.
put
(
ParserUtil
.
LAST_URL
,
lastUrl
);
map
.
put
(
ParserUtil
.
INDEX_URL
,
indexUrl
);
map
.
put
(
ParserUtil
.
NEXT_URL
,
nextUrl
);
map
.
put
(
ParserUtil
.
PRE_URL
,
preUrl
);
map
.
put
(
ParserUtil
.
LAST_URL
,
lastUrl
);
map
.
put
(
ParserUtil
.
URL
,
BasicUtil
.
getUrl
());
map
.
put
(
ParserUtil
.
PAGE
,
pageMap
);
Map
<
Object
,
Object
>
searchMap
=
new
HashMap
<>();
searchMap
.
put
(
BASIC_TITLE
,
BasicUtil
.
getString
(
BASIC_TITLE
));
searchMap
.
put
(
ParserUtil
.
PAGE_NO
,
BasicUtil
.
getInt
(
ParserUtil
.
PAGE_NO
,
1
));
...
...
@@ -256,48 +260,48 @@ public class SearchAction extends BaseAction {
}
// 遍历字段自定义字段
//
for (Iterator iter = diyFieldName.keySet().iterator(); iter.hasNext();) {
//
String key = iter.next().toString();
//
String fieldValue = diyFieldName.get(key);
//
// 获取字段实体
//
ContentModelFieldEntity field = this.get(key, fields);
//
if (field != null) {
//
List list = new ArrayList();
//
// 是否为自定义字段0
//
list.add(0, true);
//
List listValue = new ArrayList();
//
// 字段的值
//
if (field.getFieldType() == IContentModelFieldBiz.INT || field.getFieldType() == IContentModelFieldBiz.FLOAT) {
//
// 判断是否为区间查询
//
//
if (diyFieldName.get(key).toString().indexOf("-") > 0) {
//
String[] values = fieldValue.toString().split("-");
//
// 是否是数字类型,false:是
//
list.add(false);
//
// 是否是区间比较 false:是
//
list.add(false);
//
// 字段值1
//
listValue.add(values[0]);
//
listValue.add(values[1]);
//
} else {
//
// 是否是数字类型,false:是2
//
list.add(false);
//
// 是否是区间比较 true:不是3
//
list.add(true);
//
// 字段值 1
//
listValue.add(fieldValue);
//
}
//
} else {
//
// 是否是数字类型,true:不是2
//
list.add(true);
//
list.add(false);
//
// 字段值 1
//
listValue.add(fieldValue);
//
}
//
list.add(listValue);
//
map.put(key, list);
//
}
//
}
for
(
Iterator
iter
=
diyFieldName
.
keySet
().
iterator
();
iter
.
hasNext
();)
{
String
key
=
iter
.
next
().
toString
();
String
fieldValue
=
diyFieldName
.
get
(
key
);
// 获取字段实体
ContentModelFieldEntity
field
=
this
.
get
(
key
,
fields
);
if
(
field
!=
null
)
{
List
list
=
new
ArrayList
();
// 是否为自定义字段0
list
.
add
(
0
,
true
);
List
listValue
=
new
ArrayList
();
// 字段的值
if
(
field
.
getFieldType
()
==
IContentModelFieldBiz
.
INT
||
field
.
getFieldType
()
==
IContentModelFieldBiz
.
FLOAT
)
{
// 判断是否为区间查询
if
(
diyFieldName
.
get
(
key
).
toString
().
indexOf
(
"-"
)
>
0
)
{
String
[]
values
=
fieldValue
.
toString
().
split
(
"-"
);
// 是否是数字类型,false:是
list
.
add
(
false
);
// 是否是区间比较 false:是
list
.
add
(
false
);
// 字段值1
listValue
.
add
(
values
[
0
]);
listValue
.
add
(
values
[
1
]);
}
else
{
// 是否是数字类型,false:是2
list
.
add
(
false
);
// 是否是区间比较 true:不是3
list
.
add
(
true
);
// 字段值 1
listValue
.
add
(
fieldValue
);
}
}
else
{
// 是否是数字类型,true:不是2
list
.
add
(
true
);
list
.
add
(
false
);
// 字段值 1
listValue
.
add
(
fieldValue
);
}
list
.
add
(
listValue
);
map
.
put
(
key
,
list
);
}
}
return
map
;
}
...
...
src/main/webapp/templets/1/default/search.htm
View file @
b033abee
...
...
@@ -27,10 +27,10 @@
</ul>
</div>
<div
class=
"ms-content-main-page"
>
<a
class=
"ms-content-main-page-first"
href=
"{ms:
global.url/}{ms:
page.index/}"
>
首页
</a>
<a
class=
"ms-content-main-page-upper"
href=
"{ms:
global.url/}{ms:
page.pre/}"
>
上一页
</a>
<a
class=
"ms-content-main-page-next"
href=
"{ms:
global.url/}{ms:
page.next/}"
>
下一页
</a>
<a
class=
"ms-content-main-page-last"
href=
"{ms:
global.url/}{ms:
page.last/}"
>
末页
</a>
<a
class=
"ms-content-main-page-first"
href=
"{ms:page.index/}"
>
首页
</a>
<a
class=
"ms-content-main-page-upper"
href=
"{ms:page.pre/}"
>
上一页
</a>
<a
class=
"ms-content-main-page-next"
href=
"{ms:page.next/}"
>
下一页
</a>
<a
class=
"ms-content-main-page-last"
href=
"{ms:page.last/}"
>
末页
</a>
</div>
</div>
</div>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment