Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
bb382c88
D
dbeaver
项目概览
suliangchun
/
dbeaver
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dbeaver
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
bb382c88
编写于
7月 02, 2021
作者:
S
Serge Rider
提交者:
GitHub
7月 02, 2021
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #13064 from dbeaver/open-as-html-escape-entities#11423
#11423 Escape line separators as well in HTML exporter
上级
20380815
472065eb
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
24 addition
and
40 deletion
+24
-40
bundles/org.jkiss.utils/src/org/jkiss/utils/CommonUtils.java
bundles/org.jkiss.utils/src/org/jkiss/utils/CommonUtils.java
+14
-0
plugins/org.jkiss.dbeaver.data.transfer/src/org/jkiss/dbeaver/tools/transfer/stream/exporter/DataExporterHTML.java
...aver/tools/transfer/stream/exporter/DataExporterHTML.java
+10
-40
未找到文件。
bundles/org.jkiss.utils/src/org/jkiss/utils/CommonUtils.java
浏览文件 @
bb382c88
...
...
@@ -916,4 +916,18 @@ public class CommonUtils {
public
static
boolean
isValidIndex
(
int
index
,
int
length
)
{
return
index
>=
0
||
index
<
length
;
}
@NotNull
public
static
String
escapeHtml
(
@Nullable
String
text
)
{
if
(
text
==
null
)
{
return
" "
;
}
return
text
.
replace
(
"&"
,
"&"
)
.
replace
(
"<"
,
"<"
)
.
replace
(
">"
,
">"
)
.
replace
(
"\r\n"
,
"<br>"
)
.
replace
(
"\r"
,
"<br>"
)
.
replace
(
"\n"
,
"<br>"
);
}
}
plugins/org.jkiss.dbeaver.data.transfer/src/org/jkiss/dbeaver/tools/transfer/stream/exporter/DataExporterHTML.java
浏览文件 @
bb382c88
...
...
@@ -31,10 +31,7 @@ import org.jkiss.utils.CommonUtils;
import
javax.imageio.ImageIO
;
import
java.awt.image.BufferedImage
;
import
java.io.File
;
import
java.io.IOException
;
import
java.io.PrintWriter
;
import
java.io.Reader
;
import
java.io.*
;
import
java.util.Map
;
/**
...
...
@@ -164,24 +161,14 @@ public class DataExporterHTML extends StreamExporterAbstract {
private
void
writeTableTitle
(
String
value
,
int
columns
)
{
PrintWriter
out
=
getWriter
();
out
.
write
(
String
.
format
(
"<th colspan=\"%d\">"
,
columns
));
if
(
value
==
null
)
{
out
.
write
(
" "
);
}
else
{
value
=
value
.
replace
(
"&"
,
"&"
).
replace
(
"<"
,
"<"
).
replace
(
">"
,
">"
);
out
.
write
(
value
);
}
out
.
write
(
CommonUtils
.
escapeHtml
(
value
));
out
.
write
(
"</th>"
);
}
private
void
writeTextCell
(
String
value
,
boolean
header
)
{
PrintWriter
out
=
getWriter
();
out
.
write
(
header
?
"<th>"
:
"<td>"
);
if
(
value
==
null
)
{
out
.
write
(
" "
);
}
else
{
value
=
value
.
replace
(
"&"
,
"&"
).
replace
(
"<"
,
"<"
).
replace
(
">"
,
">"
);
out
.
write
(
value
);
}
out
.
write
(
CommonUtils
.
escapeHtml
(
value
));
out
.
write
(
header
?
"</th>"
:
"</td>"
);
}
...
...
@@ -228,33 +215,16 @@ public class DataExporterHTML extends StreamExporterAbstract {
}
private
void
writeCellValue
(
Reader
reader
)
throws
IOException
{
try
{
try
(
BufferedReader
bufferedReader
=
new
BufferedReader
(
reader
))
{
PrintWriter
out
=
getWriter
();
// Copy reader
char
[]
buffer
=
new
char
[
2000
];
for
(;
;
)
{
int
count
=
reader
.
read
(
buffer
);
if
(
count
<=
0
)
{
break
;
String
line
=
bufferedReader
.
readLine
();
while
(
line
!=
null
)
{
out
.
write
(
CommonUtils
.
escapeHtml
(
line
));
line
=
bufferedReader
.
readLine
(
);
if
(
line
!=
null
)
{
out
.
write
(
"<br>"
)
;
}
for
(
int
i
=
0
;
i
<
count
;
i
++)
{
if
(
buffer
[
i
]
==
'<'
)
{
out
.
write
(
"<"
);
}
else
if
(
buffer
[
i
]
==
'>'
)
{
out
.
write
(
">"
);
}
if
(
buffer
[
i
]
==
'&'
)
{
out
.
write
(
"&"
);
}
out
.
write
(
buffer
[
i
]);
}
}
}
finally
{
ContentUtils
.
close
(
reader
);
}
}
public
boolean
saveBinariesAsImages
()
{
return
true
;
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录