问候
在我的User.scala文件中:
我正在使用下一个类来自定义密码输入
代码是下一个
import net.liftweb.mapper.MappedPassword
[...]
class User extends MegaProtoUser[User] {
[...]
override def _toForm: Box[NodeSeq] = {
S.fmapFunc({s: List[String] => this.setFromAny(s)}){funcName =>
Full(
<tr>
<td>{S.??("repeat")}</td>
<td><input id={fieldId} type='password' name={funcName} value={is.toString}/> </td>
</tr>
<tr>
<td>{S.??("repeat")}<td>
<td><input type='password' name={funcName} value={is.toString}/></td>
</tr>
)
}
}
[...]
}
编译器显示以下错误:
[ERROR] ....../org/santix/model/User.scala:209: error: value setFromAny is not a member of org.santix.model.User
[INFO] S.fmapFunc({s: List[String] => this.setFromAny(s)}){funcName =>
任何人都有任何想法?
答案 0 :(得分:0)
回答的信息太少,但我可以在这里看到一些观点......
首先,我想你可能正在复制一些例子,因为你使用this.setFromAny
。包含此代码段的代码位于类User
内,该类扩展了MegaProtoUser[User]
。唉,MegaProtoUser
没有任何方法setFromAny
,我想你自己的班级User
也没有,这也是错误的主要原因。
现在,setFromAny
是您导入的类MappedPassword
的一部分,但似乎并未在任何地方使用,因此我不知道您导入它的原因。但是,我可以看到MegaProtoUser
有一个成员返回MappedPassword
。这个成员叫password
,所以我想这可能有用:
S.fmapFunc({s: List[String] => this.password.setFromAny(s)}){funcName =>
答案 1 :(得分:-1)
问题已解决!!!!
class User extends MegaProtoUser[User] {
...
override lazy val password = new MyPassword(this) {
override def _toForm: Box[NodeSeq] = {
S.fmapFunc({s: List[String] => this.setFromAny(s)})
{funcName =>
Full(
<tr>
<td>{ passwordDisplayName }</td>
<td>
<input id={fieldId} type='password' name={funcName} value=''/>
<!-- by sanx, value={is.toString} -->
</td>
</tr>
<tr>
<td>{S.??("repeat")}</td>
<td>
<input type='password' name={funcName} value=''/>
</td>
</tr>
)
}
}
}
}