项目的框架是struts2,现在想request.getInputStream()读取xml形式的流,结果就如下的错误。这要怎么解决啊,各位帮忙看看
ognl.ExpressionSyntaxException: Malformed OGNL expression: <?xml version [ognl.ParseException: Encountered "<" at line 1, column 1.
Was expecting one of:
    ":" ...
    "not" ...
    "+" ...
    "-" ...
    "~" ...
    "!" ...
    "(" ...
    "true" ...
    "false" ...
    "null" ...
    "#this" ...
    "#root" ...
    "#" ...
    "[" ...
    "{" ...
    "@" ...
    "new" ...
    <IDENT> ...
    <DYNAMIC_SUBSCRIPT> ...
    "\'" ...
    "`" ...
    "\"" ...
    <INT_LITERAL> ...
    <FLT_LITERAL> ...
    ]
at ognl.Ognl.parseExpression(Ognl.java:116)

解决方案 »

  1.   

    楼主的错误好复杂,你的xml文件格式正确么?
      

  2.   

    用的是httpclient发送xml格式的post请求的。
    后来加了一句post.setRequestHeader("Content-type", "text/xml; charset=UTF-8");问题就解决了。
      

  3.   

    楼主,麻烦说明白点咯。我也碰到这鸟问题了,我是直接action提交的(post)。更奇怪的是有些会有些不会,实在找不到哪里的的鬼了。我不可能在action里面加上:post.setRequestHeader("Content-type", "text/xml; charset=UTF-8");吧??你这里的post是啥东东?
      

  4.   

    我不是在action里加的,是在httpclient里加的
    htttpclient里有PostMethod类,我的post就是PostMethod post=new PostMethod();如果你是页面请求的,html的head标签里加上Content-type的设置
    如果通过action提交的话,可以在response里设置。
      

  5.   

    我今天遇到这个问题了 但是不影响使用  检查页面发现没问题,就去把tomcat server.xml改了一下,加上字符编码过滤 ,还是不行于是再次从页面中找,发现原来把 submit 写成了  <s:submit name="提交"> 所以才会发生上面的编码对应异常。
      

  6.   

    6楼正解,我也遇到类似情况,把<s:submit 。。/>标签改成普通html标签就正常了