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
38816bf6
Unverified
Commit
38816bf6
authored
Jul 04, 2022
by
铭飞
Committed by
Gitee
Jul 04, 2022
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update src/main/java/net/mingsoft/cms/action/web/MCmsAction.java.
parent
c2029de1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
1 addition
and
196 deletions
+1
-196
MCmsAction.java
src/main/java/net/mingsoft/cms/action/web/MCmsAction.java
+1
-196
No files found.
src/main/java/net/mingsoft/cms/action/web/MCmsAction.java
View file @
38816bf6
...
...
@@ -105,202 +105,7 @@ public class MCmsAction extends net.mingsoft.cms.action.BaseAction {
private
String
htmlDir
;
/**
* 动态列表页
*/
@GetMapping
(
"/index.do"
)
@ResponseBody
public
String
index
(
HttpServletRequest
req
,
HttpServletResponse
resp
)
{
Map
map
=
BasicUtil
.
assemblyRequestMap
();
map
.
forEach
((
k
,
v
)
->
{
map
.
put
(
k
,
v
.
toString
().
replaceAll
(
"('|\"|\\\\)"
,
"\\\\$1"
));
});
map
.
put
(
ParserUtil
.
URL
,
BasicUtil
.
getUrl
());
//动态解析
map
.
put
(
ParserUtil
.
IS_DO
,
true
);
//设置动态请求的模块路径
map
.
put
(
ParserUtil
.
MODEL_NAME
,
"mcms"
);
map
.
put
(
ParserUtil
.
HTML
,
htmlDir
);
//解析后的内容
String
content
=
""
;
try
{
//根据模板路径,参数生成
content
=
ParserUtil
.
rendering
(
ParserUtil
.
INDEX
+
ParserUtil
.
HTM_SUFFIX
,
map
);
}
catch
(
TemplateNotFoundException
e
)
{
e
.
printStackTrace
();
}
catch
(
MalformedTemplateNameException
e
)
{
e
.
printStackTrace
();
}
catch
(
ParseException
e
)
{
e
.
printStackTrace
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
return
content
;
}
/**
* 动态列表页
*
* @param req
* @param resp
*/
@ResponseBody
@GetMapping
(
"/list.do"
)
public
String
list
(
HttpServletRequest
req
,
HttpServletResponse
resp
)
{
Map
map
=
BasicUtil
.
assemblyRequestMap
();
map
.
forEach
((
k
,
v
)
->
{
map
.
put
(
k
,
v
.
toString
().
replaceAll
(
"('|\"|\\\\)"
,
"\\\\$1"
));
});
//获取栏目编号
String
typeId
=
BasicUtil
.
getString
(
ParserUtil
.
TYPE_ID
);
int
size
=
BasicUtil
.
getInt
(
"size"
,
10
);
ContentBean
contentBean
=
new
ContentBean
();
contentBean
.
setCategoryId
(
typeId
);
//获取文章总数
List
<
CategoryBean
>
columnArticles
=
contentBiz
.
queryIdsByCategoryIdForParser
(
contentBean
);
//判断栏目下是否有文章
if
(
columnArticles
.
size
()
==
0
)
{
return
""
;
}
//设置分页类
PageBean
page
=
new
PageBean
();
page
.
setPageNo
(
BasicUtil
.
getPageNo
());
int
total
=
PageUtil
.
totalPage
(
columnArticles
.
size
(),
size
);
map
.
put
(
ParserUtil
.
COLUMN
,
columnArticles
.
get
(
0
));
//获取总数
page
.
setTotal
(
total
);
//设置栏目编号
map
.
put
(
ParserUtil
.
TYPE_ID
,
typeId
);
map
.
put
(
ParserUtil
.
URL
,
BasicUtil
.
getUrl
());
map
.
put
(
ParserUtil
.
PAGE
,
page
);
//动态解析
map
.
put
(
ParserUtil
.
IS_DO
,
true
);
//设置动态请求的模块路径
map
.
put
(
ParserUtil
.
MODEL_NAME
,
"mcms"
);
map
.
put
(
ParserUtil
.
HTML
,
htmlDir
);
//解析后的内容
String
content
=
""
;
try
{
//根据模板路径,参数生成
content
=
ParserUtil
.
rendering
(
columnArticles
.
get
(
0
).
getCategoryListUrl
(),
map
);
}
catch
(
TemplateNotFoundException
e
)
{
e
.
printStackTrace
();
}
catch
(
MalformedTemplateNameException
e
)
{
e
.
printStackTrace
();
}
catch
(
ParseException
e
)
{
e
.
printStackTrace
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
return
content
;
}
/**
* 动态详情页
*/
@GetMapping
(
"/view.do"
)
@ResponseBody
public
String
view
(
String
orderby
,
String
order
,
HttpServletRequest
req
,
HttpServletResponse
resp
)
{
//参数文章编号
ContentEntity
article
=
contentBiz
.
getById
(
BasicUtil
.
getString
(
ParserUtil
.
ID
));
if
(
ObjectUtil
.
isNull
(
article
))
{
throw
new
BusinessException
(
this
.
getResString
(
"err.empty"
,
this
.
getResString
(
"id"
)));
}
if
(
StringUtils
.
isNotBlank
(
order
))
{
//防注入
if
(!
order
.
toLowerCase
().
equals
(
"asc"
)
&&
!
order
.
toLowerCase
().
equals
(
"desc"
))
{
throw
new
BusinessException
(
this
.
getResString
(
"err.error"
,
this
.
getResString
(
"order"
)));
}
}
orderby
=
orderby
.
replaceAll
(
"('|\"|\\\\)"
,
"\\\\$1"
);
PageBean
page
=
new
PageBean
();
//用于详情上下页获取当前文章列表对应的分类,根据文章查询只能获取自身分类
String
typeId
=
BasicUtil
.
getString
(
ParserUtil
.
TYPE_ID
,
article
.
getCategoryId
());
//根据文章编号查询栏目详情模版
CategoryEntity
column
=
categoryBiz
.
getById
(
typeId
);
//解析后的内容
String
content
=
""
;
Map
map
=
BasicUtil
.
assemblyRequestMap
();
map
.
forEach
((
k
,
v
)
->
{
//sql注入过滤
map
.
put
(
k
,
v
.
toString
().
replaceAll
(
"('|\"|\\\\)"
,
"\\\\$1"
));
});
//动态解析
map
.
put
(
ParserUtil
.
IS_DO
,
true
);
//设置栏目编号
map
.
put
(
ParserUtil
.
TYPE_ID
,
typeId
);
//设置动态请求的模块路径
map
.
put
(
ParserUtil
.
MODEL_NAME
,
"mcms"
);
map
.
put
(
ParserUtil
.
URL
,
BasicUtil
.
getUrl
());
map
.
put
(
ParserUtil
.
PAGE
,
page
);
map
.
put
(
ParserUtil
.
ID
,
article
.
getId
());
map
.
put
(
ParserUtil
.
HTML
,
htmlDir
);
ContentBean
contentBean
=
new
ContentBean
();
contentBean
.
setCategoryId
(
String
.
valueOf
(
typeId
));
contentBean
.
setOrderBy
(
orderby
);
contentBean
.
setOrder
(
order
);
List
<
CategoryBean
>
articleIdList
=
contentBiz
.
queryIdsByCategoryIdForParser
(
contentBean
);
Map
<
Object
,
Object
>
contentModelMap
=
new
HashMap
<
Object
,
Object
>();
ModelEntity
contentModel
=
null
;
for
(
int
artId
=
0
;
artId
<
articleIdList
.
size
();
)
{
//如果不是当前文章则跳过
if
(
articleIdList
.
get
(
artId
).
getArticleId
().
equals
(
article
.
getId
()))
{
artId
++;
continue
;
}
// 文章的栏目路径
String
categoryParentId
=
articleIdList
.
get
(
artId
).
getId
();
if
(
StringUtils
.
isNotBlank
(
articleIdList
.
get
(
artId
).
getCategoryParentIds
()))
{
categoryParentId
+=
','
+
articleIdList
.
get
(
artId
).
getCategoryParentIds
();
}
// 文章的栏目模型编号
Integer
columnContentModelId
=
articleIdList
.
get
(
artId
).
getMdiyModelId
();
Map
<
String
,
Object
>
parserParams
=
new
HashMap
<
String
,
Object
>();
parserParams
.
put
(
ParserUtil
.
COLUMN
,
articleIdList
.
get
(
artId
));
// 判断当前栏目是否有自定义模型
if
(
columnContentModelId
!=
null
&&
columnContentModelId
>
0
)
{
// 通过当前栏目的模型编号获取,自定义模型表名
if
(
contentModelMap
.
containsKey
(
columnContentModelId
))
{
parserParams
.
put
(
ParserUtil
.
TABLE_NAME
,
contentModel
.
getModelTableName
());
}
else
{
// 通过栏目模型编号获取自定义模型实体
contentModel
=
(
ModelEntity
)
modelBiz
.
getEntity
(
columnContentModelId
);
// 将自定义模型编号设置为key值
contentModelMap
.
put
(
columnContentModelId
,
contentModel
.
getModelTableName
());
parserParams
.
put
(
ParserUtil
.
TABLE_NAME
,
contentModel
.
getModelTableName
());
}
}
// 第一篇文章没有上一篇
if
(
artId
>
0
)
{
CategoryBean
preCaBean
=
articleIdList
.
get
(
artId
-
1
);
page
.
setPreId
(
preCaBean
.
getArticleId
());
}
// 最后一篇文章没有下一篇
if
(
artId
+
1
<
articleIdList
.
size
())
{
CategoryBean
nextCaBean
=
articleIdList
.
get
(
artId
+
1
);
page
.
setNextId
(
nextCaBean
.
getArticleId
());
}
break
;
}
try
{
//根据模板路径,参数生成
content
=
ParserUtil
.
rendering
(
column
.
getCategoryUrl
(),
map
);
}
catch
(
TemplateNotFoundException
e
)
{
e
.
printStackTrace
();
}
catch
(
MalformedTemplateNameException
e
)
{
e
.
printStackTrace
();
}
catch
(
ParseException
e
)
{
e
.
printStackTrace
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
return
content
;
}
/**
* 实现前端页面的文章搜索
...
...
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