6
回答
如果url参数带点,struts如何处理呢?
科大讯飞通用文字识别100000次/天免费使用。立即申请   

本地项目调用对方的http地址,对方返回的时候加入了参数但是是带点的,

例如:本应该是xxx.do?username=hello,现在就是xxx.do?user.name=hello,这样的后果就是struts中的filter会为user.name设置属性值。

action中总不能出现private String user.name;这样的属性吧?

请问怎么解决呢?

加班中,在线等。

举报
it-达摩
发帖于7年前 6回/997阅
共有6个答案 最后回答: 7年前

引用来自“蔡熙伟”的答案

struts1的do就不清楚了,但是struts2的话,user.name=hello传到后台是会对使用getUser().setName("hello")的方法进行赋值,如果struts1使用相同机制应该是调用同样的方法,如果不行那么你可以使用username=hello,然后对setUsername方法进行修改

public User user;
.........

void setUsername(String str){

    this.user.setName(str);

}

这样就能得到相同的结果了

非常感谢,收藏一下!

对方系统用了变态的参数名,但是我这边struts框架中过滤器会对url的para参数set到ognl中,而就是在set的时候出现了问题!

 

struts1的do就不清楚了,但是struts2的话,user.name=hello传到后台是会对使用getUser().setName("hello")的方法进行赋值,如果struts1使用相同机制应该是调用同样的方法,如果不行那么你可以使用username=hello,然后对setUsername方法进行修改

public User user;
.........

void setUsername(String str){

    this.user.setName(str);

}

这样就能得到相同的结果了

引用来自“puras”的答案

不是可以通过设置一个user的成员变量,来接收user.name这样的值么?

改成POST的吧

感谢!
顶部