linktag.java
来自「社区文章采用的是平板、树形自由选择的两种展示方式」· Java 代码 · 共 538 行 · 第 1/2 页
JAVA
538 行
sb.append("\"");
if(!Validator.isEmpty(rel)){
sb.append(" target=\"");
sb.append(rel);
sb.append("\"");
}
String htmlvalue = StringHelper.htmlEncoder(value);
sb.append(" title=\"");
sb.append(htmlvalue);
sb.append("\">");
if(this.escapeUBB){
sb.append(value);
}else{
sb.append(htmlvalue);
}
sb.append("</a>");
if(isDeleted){
sb.append("</font>");
}
}
else if(type.equals("datetime")){
sb.append(OutPrint.isDateHtml(lvalue));
}
else if(type.equals("topicIcon")){
sb.append(ViewCoder.topicIcon(request,topic));
}
else if(type.equals("topicMenu")){
if(!Validator.isEmpty(topic)){
value = ViewCoder.topicMenu(request,topic,idIs);
}else if(!Validator.isEmpty(reply)){
value = ViewCoder.topicMenu(request,reply,idIs);
}
sb.append(value);
}
else if(type.equals("topicMenus")){
if(!Validator.isEmpty(topic)){
value = ViewCoder.topicMenus(request,topic);
}else if(!Validator.isEmpty(reply)){
value = ViewCoder.topicMenus(request,reply);
}
sb.append(value);
}
else if(type.equals("txtUrl")){
sb.append("<a href=\"");
if(!Validator.isEmpty(topic)){
sb.append(UrlUtils.getUrl(UrlUtils.TOPIC_TXT, topic.getTopicId(), topic.getForumId(), request));
if(!Validator.isEmpty(property)){
sb.append("\" title=\"");
sb.append(property);
sb.append("\">");
}else{
sb.append("\">");
}
}
else if(!Validator.isEmpty(reply)){
sb.append(UrlUtils.getUrl(UrlUtils.TOPIC_TXT, reply.getTopicId(), reply.getForumId(), request));
if(!Validator.isEmpty(property)){
sb.append("\" title=\"");
sb.append(property);
sb.append("\">");
}else{
sb.append("\">");
}
}
sb.append(StringHelper.htmlEncoder(value));
sb.append("</a>");
}
else if(type.equals("replyPostUrl")){
this.initialize();
int forumId = 0;
int topicId = 0;
int replyId = 0;
if(!Validator.isEmpty(topic)){
forumId = topic.getForumId();
topicId = topic.getTopicId();
}
if(!Validator.isEmpty(reply)){
replyId = reply.getReplyId();
}
sb.append("post.jsp?forumId=");
sb.append(forumId);
sb.append("&better=");
sb.append(ParamUtils.getStringParameter(request,"better","0"));
sb.append("&labelId=");
sb.append(ParamUtils.getStringParameter(request,"labelId","0"));
sb.append("&fpage=");
sb.append(ParamUtils.getStringParameter(request,"fpage","1"));
sb.append("&topicId=");
sb.append(topicId);
sb.append("&replyId=");
sb.append(replyId);
sb.append("&page=");
sb.append(ParamUtils.getStringParameter(request,"page","1"));
sb.append("&lpage=");
sb.append(ParamUtils.getStringAuto(request, "lpage", "1"));
sb.append("&act=");
sb.append("addreply");
}
else if(type.equals("tree")){
ReplyView v = (ReplyView)object;
sb.append(ViewCoder.treeHtml(v));
}
else if(type.equals("replys")){
if(object instanceof TopicView){
TopicView v = (TopicView)object;
if(!Validator.isEmpty(v)){
if(v.getReplys()>0){
sb.append(v.getReplys());
}else{
sb.append("<a href=\"post.jsp?forumId=");
sb.append(v.getForumId());
sb.append("&topicId=");
sb.append(v.getTopicId());
sb.append("&act=addreply\">沙发</a>");
}
}else{
sb.append("0");
}
}else{
sb.append("0");
}
}
else if(type.equals("replyList")){
if(topic==null){
List<ReplyView>list = (List<ReplyView>) object;
value = ViewCoder.findReplys(request,topic,list,null);
}else{
value = ViewCoder.findReplys(request,topic,null);
}
if(!Validator.isEmpty(value)){
sb.append("<div class=\"tree left1\">");
sb.append(value);
sb.append("</div>");
}else{
sb.append("");
}
}
else if(type.equals("storey")){
sb.append(ViewCoder.getStorey(reply.getStorey()));
if(!Validator.isEmpty(topic)&&!Validator.isEmpty(reply)){
String st = sb.toString();
if(reply.getUserId()==0&&(reply.getUserIp().equals(topic.getUserIp()))){
sb.delete(0,sb.length());
sb.append("楼主 占领 ");
sb.append(st);
}
else if(reply.getUserId()==topic.getUserId()){
sb.delete(0,sb.length());
sb.append("楼主 占领 ");
sb.append(st);
}
}
}
else if(type.equals("forumStyle")){
sb.append(ViewCoder.styleMenu(request,UserSetUtils.FORUM_STYLE));
}
else if(type.equals("threadStyle")){
sb.append(ViewCoder.styleMenu(request,UserSetUtils.THREAD_STYLE));
}
else if(type.equals("forumLabel")){
sb.append(ViewCoder.forumLabel(request,forum));
}
else if(type.equals("favoriteForum")){
sb.append(ViewCoder.favoriteForum(request,forum));
}
else if(type.equals("online")){
if(this.getOnlineService().online(user)){
sb.append("<font class=\"red\">在线</font>");
}else{
sb.append("<font class=\"gray\">离线</font>");
}
}
else if(type.equals("parameter")){
sb.append(ParamUtils.getStringParameter(request,param,value));
}
else if(type.equals("nextOrPreviousUrl")){
sb.append("topic.do?forumId=");
sb.append(ParamUtils.getStringParameter(request,"forumId","0"));
sb.append("&topicId=");
sb.append(ParamUtils.getStringAttribute(request,"topicId","0"));
sb.append("&act=findNextOrPrevious&go=");
sb.append(param);
}
else if(type.equals("findNextOrPrevious")){
sb.append("<a href=\"topic.do?forumId=");
sb.append(ParamUtils.getStringParameter(request,"forumId","0"));
sb.append("&topicId=");
sb.append(ParamUtils.getStringAttribute(request,"topicId","0"));
sb.append("&act=findNextOrPrevious&go=");
sb.append(param);
sb.append("\">");
sb.append(value);
sb.append("</a>");
}
else if(type.equalsIgnoreCase("log_score")||type.equalsIgnoreCase("log_credit")||type.equalsIgnoreCase("log_money")){
sb.append(this.symbol(dvalue));
}
else if(type.equalsIgnoreCase("log_views")){
sb.append(this.symbol(ivalue));
}
else if(type.equalsIgnoreCase("log_url")){
ManageLogView log = (ManageLogView) object;
sb.append(UrlUtils.getUrl(log,request));
}
else if(type.equalsIgnoreCase("encoder")){
value = StringHelper.asciiToString(value);
value = StringHelper.htmlEncoder(value);
value = EnCoder.advancedTag(value);
sb.append(value);
}
outWrite(sb.toString());
sb.delete(0, sb.length());
object = null;
topic = null;
reply = null;
user = null;
value = null;
property = null;
return EVAL_PAGE;
}
public void outWrite(String s){
try {
pageContext.getOut().write(s);
} catch (IOException e) {
logger.error(e.toString());
}
}
public void outWrite(StringBuffer s){
try {
pageContext.getOut().write(s.toString());
} catch (IOException e) {
logger.error(e.toString());
}
}
private OnlineService getOnlineService(){
return ServiceWrapper.<OnlineService>getSingletonInstance(ServiceLocator.ONLINE);
}
public void setDvalue(double dvalue) {
this.dvalue = dvalue;
}
public void setIvalue(int ivalue) {
this.ivalue = ivalue;
}
private String symbol(double d){
if(d<0){
return String.valueOf(d);
}else if(d==0){
return "<span class=\"green\">+"+d+"</span>";
}else{
return "<span class=\"red\">+"+d+"</span>";
}
}
private String symbol(int d){
if(d<0){
return String.valueOf(d);
}else if(d==0){
return "<span class=\"green\">+"+d+"</span>";
}else{
return "<span class=\"red\">+"+d+"</span>";
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?