<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>haojii &#187; 小问题</title>
	<atom:link href="http://www.haojii.com/category/questions-answers/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.haojii.com</link>
	<description>一个专注于技术的IT男</description>
	<lastBuildDate>Thu, 19 Apr 2012 07:58:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>FaceTime升级Mac Lion之后不能登陆的解决办法</title>
		<link>http://www.haojii.com/2011/10/facetime-can-not-login-after-upgrade-to-mac-lion/</link>
		<comments>http://www.haojii.com/2011/10/facetime-can-not-login-after-upgrade-to-mac-lion/#comments</comments>
		<pubDate>Thu, 20 Oct 2011 15:44:39 +0000</pubDate>
		<dc:creator>Jacky</dc:creator>
				<category><![CDATA[小问题]]></category>
		<category><![CDATA[FaceTime]]></category>
		<category><![CDATA[Mac]]></category>

		<guid isPermaLink="false">http://www.haojii.com/?p=645</guid>
		<description><![CDATA[Meet the same problem like me that FaceTime can&#8217;t login after upgrade to MacOS Lion? My solution &#38; it worked:]]></description>
			<content:encoded><![CDATA[<p>Meet the same problem like me that FaceTime can&#8217;t login after upgrade to MacOS Lion?</p>
<p>My solution &amp; it worked:</p>
<pre class="brush: bash; title: ; notranslate">
sudo mv /Applications/FaceTime.app ~/Downloads/
sudo mv ~/Downloads/FaceTime.app /Applications/
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.haojii.com/2011/10/facetime-can-not-login-after-upgrade-to-mac-lion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>git如何merge github forked repository里的代码更新?</title>
		<link>http://www.haojii.com/2011/08/how-to-git-merge-from-forked-repository/</link>
		<comments>http://www.haojii.com/2011/08/how-to-git-merge-from-forked-repository/#comments</comments>
		<pubDate>Sat, 20 Aug 2011 13:49:14 +0000</pubDate>
		<dc:creator>Jacky</dc:creator>
				<category><![CDATA[小问题]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[gmail]]></category>

		<guid isPermaLink="false">http://www.haojii.com/?p=630</guid>
		<description><![CDATA[问题是这样的，github里有个项目ruby-gmail，我需要从fork自同一个项目的另一个repository拿一些Bug Fix的代码 link1：https://github.com/dcparker/ruby-gmail （原作者dcparker的repository） link2：https://github.com/jihao/ruby-gmail （我从link1 fork的repository） link3：https://github.com/geoffyoungs/ruby-gmail （geoffyoungs 从link1 fork的repository，然后他有些Bug修改，但是没被merge回原作者的link1的repository） 也就我git clone repository到本地后，发现link3有我想要的代码，我要把link3上的改动merge到我的repository上，避免我花精力改相同的bug git如何merge github forked repository里的更新? 具体做法是下面三步，以前没用git这么搞过，知道之后其实蛮简单 1. &#62;git remote add geoffyoungs http://github.com/geoffyoungs/ruby-gmail.git 2. &#62;git fetch geoffyoungs 3. &#62;git merge geoffyoungs/master 本地的repository看上去是这样的： &#62;git remote -v geoffyoungs http://github.com/geoffyoungs/ruby-gmail.git (fetch) &#8230; <a href="http://www.haojii.com/2011/08/how-to-git-merge-from-forked-repository/">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>问题是这样的，github里有个项目ruby-gmail，我需要从fork自同一个项目的另一个repository拿一些Bug Fix的代码<br />
link1：<a href="https://github.com/dcparker/ruby-gmail" target="_blank">https://github.com/dcparker/ruby-gmail</a> （原作者dcparker的repository）<br />
link2：<a href="https://github.com/jihao/ruby-gmail" target="_blank">https://github.com/jihao/ruby-gmail</a> （我从link1 fork的repository）<br />
link3：<a href="https://github.com/geoffyoungs/ruby-gmail" target="_blank">https://github.com/geoffyoungs/ruby-gmail</a> （geoffyoungs 从link1 fork的repository，然后他有些Bug修改，但是没被merge回原作者的link1的repository）</p>
<p>也就我git clone repository到本地后，发现link3有我想要的代码，我要把link3上的改动merge到我的repository上，避免我花精力改相同的bug</p>
<p><strong>git如何merge github forked repository里的更新?</strong><br />
<strong>具体做法是下面三步，以前没用git这么搞过，知道之后其实蛮简单</strong><br />
<strong> <code>1. &gt;git remote add geoffyoungs http://github.com/geoffyoungs/ruby-gmail.git<br />
2. &gt;git fetch geoffyoungs<br />
3. &gt;git merge geoffyoungs/master</code></strong></p>
<p>本地的repository看上去是这样的：<br />
<code>&gt;git remote -v<br />
geoffyoungs http://github.com/geoffyoungs/ruby-gmail.git (fetch)<br />
geoffyoungs http://github.com/geoffyoungs/ruby-gmail.git (push)<br />
origin http://jihao@github.com/jihao/ruby-gmail.git (fetch)<br />
origin http://jihao@github.com/jihao/ruby-gmail.git (push)<br />
&gt;git branch -a<br />
* master<br />
remotes/geoffyoungs/gh-pages<br />
remotes/geoffyoungs/master<br />
remotes/origin/HEAD -&gt; origin/master<br />
remotes/origin/adimircolen-master<br />
remotes/origin/gh-pages<br />
remotes/origin/master<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.haojii.com/2011/08/how-to-git-merge-from-forked-repository/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>调节一下Mac下的Terminal配置，省点眼神</title>
		<link>http://www.haojii.com/2010/09/a-terminal-style-on-mac/</link>
		<comments>http://www.haojii.com/2010/09/a-terminal-style-on-mac/#comments</comments>
		<pubDate>Thu, 16 Sep 2010 15:26:41 +0000</pubDate>
		<dc:creator>Jacky</dc:creator>
				<category><![CDATA[WoW]]></category>
		<category><![CDATA[小问题]]></category>
		<category><![CDATA[杂项]]></category>
		<category><![CDATA[MacOS]]></category>

		<guid isPermaLink="false">http://www.haojii.com/?p=388</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-389" title="terminal_style" src="http://www.haojii.com/wp-content/uploads/terminal_style.png" alt="" width="586" height="800" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.haojii.com/2010/09/a-terminal-style-on-mac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>link的地址以斜线开头完全没有道理啊</title>
		<link>http://www.haojii.com/2010/08/never-start-your-link-href-with-slash/</link>
		<comments>http://www.haojii.com/2010/08/never-start-your-link-href-with-slash/#comments</comments>
		<pubDate>Wed, 25 Aug 2010 05:49:13 +0000</pubDate>
		<dc:creator>Jacky</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[WebDev]]></category>
		<category><![CDATA[小问题]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[web开发]]></category>

		<guid isPermaLink="false">http://www.haojii.com/?p=376</guid>
		<description><![CDATA[在内部搭一个类stackoverflow的系统，选了个基于django的开源的osqa，部署的时候陆陆续续发现源码里有点小问题，比如用户相关的很多link是这样写的: 这么搞的话link就指向了服务器的documentRoot，但是我不会把osqa这个应用直接挂在根域名下，这样的hard code我觉得挺愚蠢的。 其实同样的问题也存在我们的jsp里面，这个编程习惯不好，要改正其实也不难，手工做的话可以取得app的rootPath就行了，或者用url标签来帮我们自动搞定。（django&#38;jsp都有的） 另一个Note：osqa第一次装的时候会把配置信息写到forum_keyvalue表里面，后面修改上传路径等的配置没有用，必须到数据库修改。 Something more: Larry wrote 2 useful CSS related posts: CSS – small tips (设置图像最大宽度，打印分页) CSS – sprites, manage images (图像合并切割) END]]></description>
			<content:encoded><![CDATA[<p>在内部搭一个类stackoverflow的系统，选了个基于django的开源的osqa，部署的时候陆陆续续发现源码里有点小问题，比如用户相关的很多link是这样写的:</p>
<pre class="brush: xml; title: ; notranslate">

&lt;a href=&quot;/users/{{ user.id }}/{{ user.username|slugify }}/&quot;&gt;{% gravatar user 32 %}&lt;/a&gt;
</pre>
<p>这么搞的话link就指向了服务器的documentRoot，但是我不会把osqa这个应用直接挂在根域名下，这样的hard code我觉得挺愚蠢的。</p>
<p>其实同样的问题也存在我们的jsp里面，这个编程习惯不好，要改正其实也不难，手工做的话可以取得app的rootPath就行了，或者用url标签来帮我们自动搞定。（django&amp;jsp都有的）</p>
<p>另一个Note：osqa第一次装的时候会把配置信息写到forum_keyvalue表里面，后面修改上传路径等的配置没有用，必须到数据库修改。</p>
<pre class="brush: sql; title: ; notranslate">

mysql&gt; update forum_keyvalue set value=&quot;S'/upfiles/logo.png'
    &quot;&gt; p0
    &quot;&gt; .&quot; where id=26;

	mysql&gt; update forum_keyvalue set value=&quot;S'/var/lib/osqa/forum/upfiles'
    &quot;&gt; p0
    &quot;&gt; .&quot; where id=33;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql&gt; select * from forum_keyvalue where id=33;
+----+----------------+-------------------------------------+
| id | key            | value                               |
+----+----------------+-------------------------------------+
| 33 | UPFILES_FOLDER | S'/var/lib/osqa/forum/upfiles'
p0
. |
+----+----------------+-------------------------------------+
</pre>
<p>Something more:<br />
Larry wrote 2 useful CSS related posts:<br />
<a title="CSS – small tips" href="http://codeslife.com/?p=164">CSS –  small tips</a> (设置图像最大宽度，打印分页)</p>
<p><a title="CSS – sprites, manage  images" href="http://codeslife.com/?p=159">CSS – sprites, manage images</a> (图像合并切割)</p>
<p>END</p>
]]></content:encoded>
			<wfw:commentRss>http://www.haojii.com/2010/08/never-start-your-link-href-with-slash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ubuntu安装mplayer遇到的一些问题及解决办法</title>
		<link>http://www.haojii.com/2009/02/ubuntu-mplayer-install-problem/</link>
		<comments>http://www.haojii.com/2009/02/ubuntu-mplayer-install-problem/#comments</comments>
		<pubDate>Thu, 12 Feb 2009 15:52:14 +0000</pubDate>
		<dc:creator>Jacky</dc:creator>
				<category><![CDATA[Unix/Linux]]></category>
		<category><![CDATA[小问题]]></category>
		<category><![CDATA[mplayer]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.haojii.com/?p=170</guid>
		<description><![CDATA[关于ubuntu安装mplayer网上已经有很多的文章，我也装的时候也参照了一下下面两个链接。这篇文章主要是为了记录我安装的时候遇到的问题及解决办法。 http://www.mplayerhq.hu/DOCS/README http://linux.chinaunix.net/docs/2008-01-24/4725.shtml http://tech.ccidnet.com/art/3089/20090106/1652395_1.html  安装有五个步骤，我下载了Subversion snapshot的源文件，以及其他几个文件之后，   先配置codecs目录，权限如下   hao@hao-desktop:/usr/lib$ ls -al &#124; grep codecs drwxr-xr-x   2 root root     4096 2009-02-11 23:22 codecs drwxr-xr-x   2 root root     4096 2007-10-07 22:07 wincodecs   之后在解压完的source目录下运行了如下命令： ./configure &#8211;prefix=/usr/local/mplayer/ &#8211;enable-gui &#8211;enable-freetype &#8211;codecsdir=/usr/lib/codecs/ &#8211;win32codecsdir=/usr/lib/wincodecs/ &#8211;language=zh_CN &#8230; <a href="http://www.haojii.com/2009/02/ubuntu-mplayer-install-problem/">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>关于ubuntu安装mplayer网上已经有很多的文章，我也装的时候也参照了一下下面两个链接。这篇文章主要是为了记录我安装的时候遇到的问题及解决办法。</p>
<div><a href="http://www.mplayerhq.hu/DOCS/README">http://www.mplayerhq.hu/DOCS/README</a><br />
<a id="tj97" title="http://linux.chinaunix.net/docs/2008-01-24/4725.shtml" href="http://linux.chinaunix.net/docs/2008-01-24/4725.shtml">http://linux.chinaunix.net/docs/2008-01-24/4725.shtml</a> <a id="re8k" title="http://tech.ccidnet.com/art/3089/20090106/1652395_1.html" href="http://tech.ccidnet.com/art/3089/20090106/1652395_1.html">http://tech.ccidnet.com/art/3089/20090106/1652395_1.html</a> </div>
<p>安装有五个步骤，我下载了Subversion snapshot的源文件，以及其他几个文件之后，</p>
<div> </div>
<div>先配置codecs目录，权限如下</div>
<div> </div>
<div><span style="background-color: #888888;">hao@hao-desktop:/usr/lib$ ls -al | grep codecs<br />
drwxr-xr-x   2 root root     4096 2009-02-11 23:22 codecs<br />
drwxr-xr-x   2 root root     4096 2007-10-07 22:07 wincodecs</span></div>
<div> </div>
<div>之后在解压完的source目录下运行了如下命令：</div>
<div><span style="background-color: #888888;">./configure &#8211;prefix=/usr/local/mplayer/ &#8211;enable-gui &#8211;enable-freetype &#8211;codecsdir=/usr/lib/codecs/ &#8211;win32codecsdir=/usr/lib/wincodecs/ &#8211;language=zh_CN</span></div>
<div> </div>
<div><strong>错误一：</strong> 很不幸没有一次性成功，错误提示如下：</div>
<div><span style="color: #ff0000;">Error: The GUI requires libavcodec with PNG support (needs zlib).<br />
Check “configure.log” if you do not understand why it failed.</span></div>
<div>
<p><strong>解决办法：</strong> google了一下发现我需要libavcodec这个东东，但是在我检查了一下明明以及装过了的，同时发现还有下面这个包没有装过，看了一下这个包的说明，猜想了一下觉得应该把它装上，这里要说的说ubuntu真的很方便，这个<strong>(Synaptic Package Manager) 新立得包管理器</strong>简直就是一个神器啊！在<strong>Synaptic Package Manager</strong>里选中这个包，它会把depend的其他包都自动下载安装，爽死了。</p>
<p>libavcodec-dev</p>
<p>    development files for libavcodec<br />
    This is the codec library from the ffmpeg project. It supports most existing<br />
    encoding formats (MPEG, DivX, MPEG4, AC3, DV&#8230;).</p>
<p>    This package contains the header files and static libraries needed to<br />
    compile applications or shared objects that use libavcodec.</p>
<div> </div>
<div><strong>错误二：</strong> 这个问题搞定之后，重新运行上面的configure命令，又得到一个新的错误提示：</div>
<div> </div>
<div><span style="color: #ff0000;">Error: X11 support required for GUI compilation.<br />
Check “configure.log” if you do not understand why it failed.</span></div>
<p><strong>解决办法：</strong> 继续google发现这次的解决办法是要安装下面两个包，还是用<strong>Synaptic Package Manager</strong></p>
<p>libgladeui-1-7<br />
    GTK+ User Interface Build core library</p>
<p>libgladeui-1-dev</p>
<p>    GTK+ User Interface Build core library (development files)<br />
    Glade is a RAD tool to enable quick and easy development of user<br />
    interfaces for the GTK+ 2 toolkit.</p>
<p>    Glade is, since its “3.0&#8243; major version, highly modular, and composed<br />
    of widgets which can be used by other applications to integrate<br />
    functionality similar to the one provided by the Glade application<br />
    itself.</p>
<div>然后继续运行configure终于成功了，当然不排除你运行这个的时候遇到别的问题，解决办法就是<strong>google+Synaptic Package Manager</strong></div>
<div>然后就可以安装啦<br />
hao@hao-desktop:~/downloaded/mplayer-export-2009-02-11$ sudo make install<br />
[sudo] password for hao:<br />
install -d /usr/local/mplayer//bin /usr/local/mplayer//etc/mplayer /usr/local/mplayer//lib<br />
install -m 755 -s mplayer /usr/local/mplayer//bin<br />
ln -sf mplayer /usr/local/mplayer//bin/gmplayer<br />
install -d /usr/local/mplayer//share/mplayer/skins /usr/local/mplayer//share/pixmaps /usr/local/mplayer//share/applications<br />
install -m 644 etc/mplayer.xpm /usr/local/mplayer//share/pixmaps/<br />
install -m 644 etc/mplayer.desktop /usr/local/mplayer//share/applications/<br />
install -m 755 -s mencoder /usr/local/mplayer//bin<br />
install -d /usr/local/mplayer//share/man/zh_CN/man1<br />
install -m 644 DOCS/man/zh_CN/mplayer.1 /usr/local/mplayer//share/man/zh_CN/man1/<br />
cd /usr/local/mplayer//share/man/zh_CN/man1 &amp;&amp; ln -sf mplayer.1 mencoder.1<br />
<a href="mailto:hao@hao-desktop:~/downloaded/mplayer-export-2009-02-11$">hao@hao-desktop:~/downloaded/mplayer-export-2009-02-11$</a></div>
<div> </div>
<div> </div>
<div>
<p>最后还需要安装字体和皮肤，很简单的活，没遇到问题。</p>
<p><span style="color: #ff0000;">Q：ubuntu如何安装deb格式的包？</span></p>
<div><span style="color: #ff0000;">A：sudo dpkg -i xxxx.<em>deb</em></span></div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.haojii.com/2009/02/ubuntu-mplayer-install-problem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>使用JNDI查找JBOSS内配置好的数据源遇到的问题</title>
		<link>http://www.haojii.com/2009/02/jndi-problem-in-jboss/</link>
		<comments>http://www.haojii.com/2009/02/jndi-problem-in-jboss/#comments</comments>
		<pubDate>Wed, 04 Feb 2009 15:47:18 +0000</pubDate>
		<dc:creator>Jacky</dc:creator>
				<category><![CDATA[JavaEE]]></category>
		<category><![CDATA[小问题]]></category>
		<category><![CDATA[jboss]]></category>
		<category><![CDATA[jndi]]></category>

		<guid isPermaLink="false">http://www.haojii.com/?p=168</guid>
		<description><![CDATA[这应该是很多J2EE新手都会碰到的问题，我在做一个J2SE中调用EntityManager学习JPA的小例子，遇到了不少异常信息 其中一个问题就是，运行Main程序时拿不到MySqlDS的配置， google的一堆文章之后，在这篇帖子中找到的想要的答案 http://www.theserverside.com/discussions/thread.tss?thread_id=29813 总结一下就是JBoss默认将数据源绑定在本地JNDI命名空间下，所以不能从JBoss运行的JVM之外查找到改数据源，要解决这个问题就是配置JBoss将数据源绑定在全局命名空间下。 这个在dataSource的配置文件中指定，以MySql为例，就是在修改${JBOSS_HOME}/server/default/deploy/mysql-ds.xml 在&#60;jndi-name&#62;MySqlDS&#60;/jndi-name&#62;下面一行添加 &#60;use-java-context&#62;false&#60;/use-java-context&#62; 下面截取了JBoss此时打印出的一段日志，可以明显看到我们要的结果生效了 *** CONTEXTS IN ERROR: Name -&#62; Error persistence.unit:unitName=#HelloTitan -&#62; javax.naming.NameNotFoundException: MySqlDS not bound 14:29:24,589 INFO  [Http11Protocol] Starting Coyote HTTP/1.1 on http-127.0.0.1-8080 14:29:24,693 INFO  [AjpProtocol] Starting Coyote AJP/1.3 on ajp-127.0.0.1-8009 14:29:24,709 INFO  [ServerImpl] &#8230; <a href="http://www.haojii.com/2009/02/jndi-problem-in-jboss/">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>这应该是很多J2EE新手都会碰到的问题，我在做一个J2SE中调用EntityManager学习JPA的小例子，遇到了不少异常信息</p>
<div>
<p>其中一个问题就是，运行Main程序时拿不到MySqlDS的配置，</p>
<p>google的一堆文章之后，在这篇帖子中找到的想要的答案 <a href="http://www.theserverside.com/discussions/thread.tss?thread_id=29813">http://www.theserverside.com/discussions/thread.tss?thread_id=29813</a></p>
<p><strong>总结一下就是JBoss默认将数据源绑定在本地JNDI命名空间下，所以不能从JBoss运行的JVM之外查找到改数据源，要解决这个问题就是配置JBoss将数据源绑定在全局命名空间下。</strong></p>
<p><span style="color: #ff0000;">这个在dataSource的配置文件中指定，以MySql为例，就是在修改${JBOSS_HOME}/server/default/deploy/mysql-ds.xml</span></p>
<p><span style="color: #ff0000;">在&lt;jndi-name&gt;MySqlDS&lt;/jndi-name&gt;下面一行添加 &lt;use-java-context&gt;false&lt;/use-java-context&gt;</span></p>
<p>下面截取了JBoss此时打印出的一段日志，可以明显看到我们要的结果生效了</p>
<p>*** CONTEXTS IN ERROR: Name -&gt; Error</p>
<p>persistence.unit:unitName=#HelloTitan -&gt; javax.naming.NameNotFoundException: MySqlDS not bound<br />
14:29:24,589 INFO  [Http11Protocol] Starting Coyote HTTP/1.1 on http-127.0.0.1-8080<br />
14:29:24,693 INFO  [AjpProtocol] Starting Coyote AJP/1.3 on ajp-127.0.0.1-8009<br />
14:29:24,709 INFO  [ServerImpl] JBoss (Microcontainer) [5.0.0.GA (build: SVNTag=JBoss_5_0_0_GA date=200812042120)] Started in 1m:768ms<br />
<strong>14:35:10,011 INFO  [ConnectionFactoryBindingService] Unbound ConnectionManager &#8216;jboss.jca:service=DataSourceBinding,name=MySqlDS&#8217; from JNDI name &#8216;java:MySqlDS&#8217;<br />
14:35:10,222 INFO  [WrapperDataSourceService] Bound ConnectionManager &#8216;jboss.jca:service=DataSourceBinding,name=MySqlDS&#8217; to JNDI name &#8216;MySqlDS&#8217;</strong></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.haojii.com/2009/02/jndi-problem-in-jboss/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>再次小结ServletRequest.getParameter乱码问题</title>
		<link>http://www.haojii.com/2008/11/servlet-request-getparameter-encoding-problem/</link>
		<comments>http://www.haojii.com/2008/11/servlet-request-getparameter-encoding-problem/#comments</comments>
		<pubDate>Tue, 25 Nov 2008 13:45:08 +0000</pubDate>
		<dc:creator>Jacky</dc:creator>
				<category><![CDATA[JavaEE]]></category>
		<category><![CDATA[小问题]]></category>
		<category><![CDATA[jsp]]></category>
		<category><![CDATA[sevlet]]></category>

		<guid isPermaLink="false">http://www.haojii.com/?p=165</guid>
		<description><![CDATA[情况之一：没有编码URL HTML 页面 var url = “./SuggestServlet?tagName=”+document.getElementById(&#8216;tagName&#8217;).value; 做一个AJAX请求到SuggestServlet，参数是中文字符串，（传递到容器，由容器决定采用何种编码解析） 到Servlet之后取这个参数 String myparam = request.getParameter(“tagName”); 得到的是一个乱码字符串，request.getCharacterEncoding() 得到的是一个null值，这时候tomcat默认的是ISO-8859-1编码解析，这就是我们得到乱码的原因了。 解决办法： myparam = new String(myparam.getBytes(“ISO-8859-1&#8243;),”UTF-8&#8243;); 这样就能得到中文了 情况之二：使用javascript的encodeURI编码中文参数 HTML页面 var url =  “./SuggestServlet?tagName=”+encodeURI(document.getElementById(&#8216;tagName&#8217;).value); 同样是做一个AJAX请求到SuggestServlet，这时候参数被编码过了 到Servlet之后取这个参数 String myparam = request.getParameter(“tagName”); 得到的是UTF-8编码之后的字符串，其实不是乱码。 要获得中文字符，我们还需要再转换一次编码String decodingParam = URLDecoder.decode(myparam, “UTF-8&#8243;); &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8230; <a href="http://www.haojii.com/2008/11/servlet-request-getparameter-encoding-problem/">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<h4>情况之一：没有编码URL</h4>
<p>HTML 页面<br />
var url = “./SuggestServlet?tagName=”+document.getElementById(&#8216;tagName&#8217;).value;</p>
<p>做一个AJAX请求到SuggestServlet，<strong>参数是中文字符串，（<span style="color: #ff0000;">传递到容器，由容器决定采用何种编码解析</span>）</strong></p>
<p>到Servlet之后取这个参数 String myparam = request.getParameter(“tagName”);</p>
<p>得到的是一个乱码字符串，request.getCharacterEncoding() 得到的是一个null值，这时候<strong>tomcat默认的是ISO-8859-1编码解析</strong>，这就是我们得到乱码的原因了。</p>
<p><strong>解决办法：</strong></p>
<p>myparam = new String(myparam.getBytes(“ISO-8859-1&#8243;),”UTF-8&#8243;); 这样就能得到中文了</p>
<h4>情况之二：使用javascript的encodeURI编码中文参数</h4>
<p>HTML页面</p>
<p>var url =  “./SuggestServlet?tagName=”+<strong><span style="color: #ff0000;">encodeURI</span>(</strong>document.getElementById(&#8216;tagName&#8217;).value<strong>)</strong>;</p>
<p>同样是做一个AJAX请求到SuggestServlet，<strong>这时候参数被编码过了</strong></p>
<p>到Servlet之后取这个参数 String myparam = request.getParameter(“tagName”);</p>
<p>得到的是UTF-8编码之后的字符串，其实不是乱码。</p>
<p>要获得中文字符，我们还需要再转换一次编码String decodingParam = <strong>URLDecoder.decode(</strong>myparam, “UTF-8&#8243;<strong>)</strong>;</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p><strong> 补充：做URL请求之前，应该使用<span style="color: #ff0000;">JavaScript encodeURL(url)</span></strong></p>
<p><strong>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.haojii.com/2008/11/servlet-request-getparameter-encoding-problem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>EL如何取得数组长度？EL取不了要靠JSTL</title>
		<link>http://www.haojii.com/2008/10/el-get-array-length-in-jsp/</link>
		<comments>http://www.haojii.com/2008/10/el-get-array-length-in-jsp/#comments</comments>
		<pubDate>Tue, 21 Oct 2008 16:10:14 +0000</pubDate>
		<dc:creator>Jacky</dc:creator>
				<category><![CDATA[JavaEE]]></category>
		<category><![CDATA[小问题]]></category>
		<category><![CDATA[EL]]></category>
		<category><![CDATA[jsp]]></category>

		<guid isPermaLink="false">http://www.haojii.com/?p=162</guid>
		<description><![CDATA[方法一: 使用JSTL functions &#60;%@taglib uri=”http://java.sun.com/jsp/jstl/functions” prefix=”fn”%&#62;  Eg：You have ${fn:length(shoppingCart.products)} in your shopping cart. 注意：这个标记和core不一样，它不能这样用 &#60;fn:length(${commentsList}) /&#62;，这样会报类似于这样的一个异常: org.apache.jasper.JasperException: /myshowpost.jsp(17,27) No tag “length(${commentsList})” defined in tag library imported with prefix “fn” 方法二: 使用&#60;c:foreach status.count属性 &#60;%@taglib uri=”http://java.sun.com/jsp/jstl/core” prefix=”c”%&#62; 用c:forEach 中vaStatus的属性可以获得迭代的自身状态，如： &#60;c:forEach var=”" items=”" varStatus=”status”&#62; &#60;c:out &#8230; <a href="http://www.haojii.com/2008/10/el-get-array-length-in-jsp/">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<h4>方法一: 使用JSTL functions</h4>
<div>
<p>&lt;%@taglib uri=”http://java.sun.com/jsp/jstl/functions” prefix=”fn”%&gt;</p>
<p> Eg：You have <strong>${fn:length(shoppingCart.products)}</strong> in your shopping cart.</p>
<p><strong>注意：</strong>这个标记和core不一样，<strong>它不能这样用</strong> &lt;fn:length(${commentsList}) /&gt;，这样会报类似于这样的一个异常:</p>
<p><span style="background-color: #ffff00;">org.apache.jasper.JasperException: /myshowpost.jsp(17,27) No tag “length(${commentsList})” defined in tag library imported with prefix “fn”</span></p>
<h4>方法二: 使用&lt;c:foreach status.count属性</h4>
<p>&lt;%@taglib uri=”http://java.sun.com/jsp/jstl/core” prefix=”c”%&gt;</p>
<p>用c:forEach 中vaStatus的属性可以获得迭代的自身状态，如：<br />
&lt;c:forEach var=”" items=”" varStatus=”status”&gt;<br />
&lt;c:out value=”${<span style="color: #ff0000;">status.index</span>}”/&gt; 此次迭代的索引<br />
&lt;c:out value=”${<span style="color: #ff0000;">status.count</span>}”/&gt; 已经迭代的数量<br />
&lt;c:out value=”${<span style="color: #ff0000;">status.fir</span>st}”/&gt; 是否是第一个迭代对象<br />
&lt;c:out value=”${<span style="color: #ff0000;">status.la</span>st}”/&gt;  是否是最后一个迭代对象<br />
&lt;/c:forEach&gt;</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.haojii.com/2008/10/el-get-array-length-in-jsp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jsp:include 乱码问题的解决办法</title>
		<link>http://www.haojii.com/2008/09/jsp-include-encoding-problem/</link>
		<comments>http://www.haojii.com/2008/09/jsp-include-encoding-problem/#comments</comments>
		<pubDate>Tue, 23 Sep 2008 04:46:32 +0000</pubDate>
		<dc:creator>Jacky</dc:creator>
				<category><![CDATA[小问题]]></category>
		<category><![CDATA[jsp]]></category>
		<category><![CDATA[Q&A]]></category>

		<guid isPermaLink="false">http://www.haojii.com/?p=159</guid>
		<description><![CDATA[比如说下面的这个header.jsp中有中文，那么包含这个文件的网页可能就会出现乱码 &#60;jsp:include page=”header.jsp”&#62;&#60;/jsp:include&#62; 解决办法是在header.jsp里加上下面这段话： &#60;%@ page language=”java” contentType=”text/html; charset=UTF-8&#8243; pageEncoding=”UTF-8&#8243;%&#62;]]></description>
			<content:encoded><![CDATA[<div>比如说下面的这个header.jsp中有中文，那么包含这个文件的网页可能就会出现乱码<br />
&lt;jsp:include page=”header.jsp”&gt;&lt;/jsp:include&gt;</div>
<p>解决办法是在header.jsp里加上下面这段话：<br />
&lt;%@ page language=”java” contentType=”text/html; charset=UTF-8&#8243; pageEncoding=”UTF-8&#8243;%&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.haojii.com/2008/09/jsp-include-encoding-problem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

