没有比人更高的山

Wordpress旗下的bbPress内网与外网访问设置1

有很多WordPress使用者都想有个能和WordPress很好整合的论坛系统,现在有了bbPress,大家可以少折腾了。

作为一款轻量级的论坛程序,bbPress之前一直默默发展,几乎没有任何推广,而且使用范围和使用人数都比较少,但进入2010年一来,WordPress官方逐渐加大对bbPress的投入。

bbPress安装详细教程

OPhone俱乐部社区 是我在Dian团队的服务器上使用bbPress架设的一个小型论坛。因为服务器在网关内部,而且由于某些原因没有设置成内网也可以用域名访问,如服务器是192.168.0.3,在内网我们就用这个IP了,但外网就必须用域名。

在配置WordPress的时候也会出现,配置好了内网,外网访问不了,这个问题oo同学已经很好的解决了《wordpress内网与外网同时访问的问题》,我是google出来的,在此先恭喜oo同学。

我也尝试用同样的方法配置bbPress,结果发现不行,因为bbPress设计的时候可能还是有些不合理。最终我找到一个不能称其为方法的方法:

[1]打开bbPress安装目录下的bb-includes\functions.bb-meta.php文件
[2]找到函数bb_get_option_from_db的定义
[3]在return前增加一下代码:

1
2
3
4
5
6
7
    if($option == 'uri')
    {
        $rip = $_SERVER['REMOTE_ADDR'];
        if( strpos($rip, '192.168') !== false ) {
            $r = 'http://192.168.0.3/ophone/bbs';
        }
    }
VN:F [1.7.5_995]
Rating: 0.0/10 (0 votes cast)
VN:F [1.7.5_995]
Rating: 0 (from 2 votes)

Java注释中的@deprecated与源代码中的@Deprecated0

首先,请注意标题,这两个标记有大小写之分,一个是D,一个是d

源代码标记@Deprecated是在JDK1.5中作为内置的annotation引入的,用于表明类(class)、方法(method)、字段(field)已经不再推荐使用,并且在以后的JDK版本中可能将其删除,编译器在默认情况下检测到有此标记的时候会提示警告信息。

Java注释中的@deprecated用于在用Javadoc工具生成文档的时候,标注此类/接口、方法、字段已经被废止。

不过后者还有一个功能就是和源代码标记@Deprecated同样的功能,在JDK1.4版本之后,该功能被@Deprecated所取代。

VN:F [1.7.5_995]
Rating: 0.0/10 (0 votes cast)
VN:F [1.7.5_995]
Rating: -1 (from 1 vote)

好用的Wordpress代码高亮插件WP-Syntax5

开博几个月以来一直没有使用代码高亮插件,并不是我不想,而是找到的几个代码插件实在是太让人失望:有些很安装使用很复杂,让人摸不到头脑;有些效果太夸张,界面不够简单整洁;还有些用js来实现,但是遇到代码中有>(大家都知道这是>的转义字符)这样的代码就出错了,而我有很多代码经过Wordpress的处理有些尖括号已经被转义字符替代了,有些XML代码就更厉害,通篇都是> <,让人头疼不已。

今天偶然发现一个插件,名为WP-Syntax,顿时让我眼睛一亮,别人都说它是兼容性最好的代码高亮插件,经过试用,果不其然,我已经在本博客上全面启用这个插件了。

使用方法其实很多,不妨我罗嗦两句,兼凑个字数,也算做个笔记:

1
<pre lang="java" line="1" escaped="true">//Java代码</pre>

其中标签pre的属性lang表示语言类型line表示显示起始代码行号,如果不设置则不显示行号,escaped表示是否代码是否为转义字符,默认为false,即如果你的代码中有转义字符,则需要设置escaped=”true”

VN:F [1.7.5_995]
Rating: 10.0/10 (1 vote cast)
VN:F [1.7.5_995]
Rating: -1 (from 1 vote)

一些国人开发的好用JS控件0

以前都是用国外开发的像FCKEditor(已经更名为CKEditor)、Flexigrid等,很多英文文档看得头大,而且代码不一定写得很好,比如Flexigrid,我找到了至少2处bug,开发中很多时间都花费在看那上千行的js脚本上了。这里介绍几款国人开发的js控件,非常好用

My97日期控件:http://www.my97.net/dp
好处:可以选择时间,可以显示周,自定义格式,有多种皮肤可供选择,选择老年份非常方便:

KindEditor: http://www.kindsoft.net
一款可见即所得编辑器,用起来非常简单,相比CKEditor和TinyMCE要简单很多,特别是TinyMCE一大堆插件,一看头就晕了,项目开发期紧张,哪有那么多时间去看这些个插件是干嘛的哟。
支持两种皮肤,其中一种就是TinyMCE的皮肤,呵呵。

基于JQuery的Inline Editor插件http://www.wbfsaworkstation.com.cn
实在是不好意思,我不知道inline这个词怎么用中文来表达,我想每个开发人员应该心里明白是啥意思吧。支持单选按钮、多选列表、文本域、软键盘等,还有评分插件以及日历插件(日历插件基于My97)

如果遇到好的,会继续推荐,呵呵…

VN:F [1.7.5_995]
Rating: 6.0/10 (4 votes cast)
VN:F [1.7.5_995]
Rating: -1 (from 3 votes)

JSF中CommandButton与CommandLink传值0

f:param标签能够将一个参数添加到组件。需要注意的是f:param标签的不同表现依赖于它所关联的组件类型

【1】如果为 h:outputText添加f:param标签,那么JSF实现将使用参数来填充占位符,例如{0}、{1}等。

【2】如果添加f:param标签到h:commandLink,JSF实现会将参数值作为请求参数传递到服务器,如:

1
2
3
<h :commandLink actionListener="#{userListBean.checkUser}" value="审核通过">
    <f :param name="userId" value="#{user.userId}" />
</h>

在服务器端可以使用如下方法来获取传递到服务器端的值:

1
2
3
4
private void checkUser(ActionEvent actionEvent){
    String uid = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("userId");
    // other code
}

但是f:param的传值方式对于h:commandButton是没有作用的,(如果你是用搜索引擎搜到这篇文章的话,相信你肯定是遇到了这个问题),详情可以参考http://www.javaeye.com/topic/93388

如果是h:commandButton,那么可以使用f:attribute来进行传值,示例如下:

1
2
3
<h :commandButton actionListener="#{userListBean.resetPassword}" value="审核通过">
    <f :attribute name="userId" value="#{user.userId}"/>
</h>

在服务器端可以使用如下方法来获取传递到服务器端的值:

1
2
3
4
private void resetPassword(ActionEvent actionEvent){
    long userIdString = (Long) actionEvent.getComponent().getAttributes().get("userId");
    //other code ……
}
VN:F [1.7.5_995]
Rating: 0.0/10 (0 votes cast)
VN:F [1.7.5_995]
Rating: 0 (from 0 votes)


Switch to our mobile site