% と $

webworkのタグライブラリでは式言語を使うときに「%」を付けます。
MayaaResultを使うと、「$」を付けます。


基本的にこれらで取れる値は同じはずですよね?
でも、違うみたいなんです。
試しに出力してみたんですけど、見た目は同じようなんですけど、
タグの引数に渡すと違う動きをする。

public class TestAction extends ActionSupport{
  private List list;
  private String selected;
  public String execute(){
    list = //プロパティ key value を持つオブジェクトのList値をセット;
    return SUCCESS;
  }

  public List getList(){
    return list;
  }

  public void setSelected(String str){
    selected = str;
  }
}
<ww:select name="test" value="%{str}" list="%{list}" listKey="key" listValue="value" />

と書くと思うんですけど、このときlistに含まれるstrを指定してるんですけど、selectedにならない。でも、こう書くとselectedになる。valueの所を「$」にしただけです。

<ww:select name="test" value="${str}" list="%{list}" listKey="key" listValue="value" />

ちなみに、こう書くとエラーになった。listのところを「$」にしただけです。

<ww:select name="test" value="%{str}" list="${list}" listKey="key" listValue="value" />

良く分からん。
「$」と「%」が混在するのは避けたいので「$」で統一したいんだけど無理なんかな。