You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@velocity.apache.org by "Masakazu Ikezawa (JIRA)" <de...@velocity.apache.org> on 2009/07/30 07:54:15 UTC

[jira] Created: (VELTOOLS-119) use "input.encoding" since 1.4

use "input.encoding"  since 1.4
-------------------------------

                 Key: VELTOOLS-119
                 URL: https://issues.apache.org/jira/browse/VELTOOLS-119
             Project: Velocity Tools
          Issue Type: New Feature
          Components: VelocityView
    Affects Versions: 1.4, 2.0, 2.x
            Reporter: Masakazu Ikezawa


Hello,

I have a request to VelocityViewServlet.

Until Velocity Tools 1.3 , VelocityViewServlet used "input.encoding" velocity property at read templete file.

Because tools 1.3 used following logic to create template.

----
    protected Template handleRequest(HttpServletRequest request,

        String path = ServletUtils.getPath(request);
        return getTemplate(path);
....
    public Template getTemplate(String name)

        return velocity.getTemplate(name);
----

RuntimeInstance#getTemplate(String) method is asa follows, so used "input.encoding" property at read templete file.

----
        return getTemplate(name, getString( INPUT_ENCODING, ENCODING_DEFAULT));
----


Since 1.4 , this logic changed and specify encoding in VelocityViewServlet(or VelocityView) with getTemplate(String name,String encoding) method.
The used encoding is "response.getCharacterEncoding()".

So "input.encoding" property is ignored sinse 1.4 (except response==null).

This is very embarrassed for me.

I have a web application used Velocity & VelocityTools that created at 2004 in Japan.

That application used "Windows-31J" encoding because it was most popular japanese encoding (Japanese Windows Default Encoding).

But , today used a lot of unicode characters except Windows-31J and I need to use these charactor in this application.

This application's db is use unicode at first, Windows-31J used view part only.
And these unicode character used input text only , not use in form phrase.

I try to change response encoding to UTF-8 and velocity property defines as follows.( at 2007, used VelocityTools1.3)

input.encoding=Windows-31J
output.encoding=UTF-8

This try was sucess, and this application supported all unicode charactors without change all template files.

I think this is collect use because Velocity have "input.encoding" and "output.encoding" property . Velocity allowed the case of templete encoding and output file encodig is differ.

I want to use VelocityToool 2.0 , but can't use by this reason. ( It is difficult to convert all template files to UTF-8)

Could you add the method of using "input.encoding" in VelocityViewServlet?


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@velocity.apache.org
For additional commands, e-mail: dev-help@velocity.apache.org