Javascript 在jsp页面中设计一个复杂的结构,并使用action类在其上传递值
这个问题可以有不同的答案,因为每个人都会用自己的方式来回答。但我想一次好的讨论可以帮我找到我的 首先,我将解释我试图执行的场景。请耐心点,它会很长(尽管我试着保持它短)。既然我不是很有经验,请善待我 我需要控制用户对我正在构建的web应用程序的各种页面和功能的访问。网页被分成不同的模块。每个模块都有不同类型的访问选项。例如,模块1只能有读写访问选项,但模块2可以有读、写、修改和删除访问选项。我已经建立了我需要的数据库,我只是需要帮助建立前端来控制它 在我的脑海中有如下类似的想法(所有变量和列表都在显示此页面之前调用的action类中设置): 你需要告诉/展示你的动作类中由什么组成?或者,当您在第一个Javascript 在jsp页面中设计一个复杂的结构,并使用action类在其上传递值,javascript,ajax,jsp,struts2,action,Javascript,Ajax,Jsp,Struts2,Action,这个问题可以有不同的答案,因为每个人都会用自己的方式来回答。但我想一次好的讨论可以帮我找到我的 首先,我将解释我试图执行的场景。请耐心点,它会很长(尽管我试着保持它短)。既然我不是很有经验,请善待我 我需要控制用户对我正在构建的web应用程序的各种页面和功能的访问。网页被分成不同的模块。每个模块都有不同类型的访问选项。例如,模块1只能有读写访问选项,但模块2可以有读、写、修改和删除访问选项。我已经建立了我需要的数据库,我只是需要帮助建立前端来控制它 在我的脑海中有如下类似的想法(所有变量和列表都
select
组件中选择某个值时,它应该填充迭代器的值,并且字段应该给出相应的迭代器值,您是否期待着这样的结果
如果是这种情况,我担心它将不起作用,因为您需要一些ajax
功能,比如您需要刷新该区域并更新其内容,或者您需要从ajax
调用中解析该数据,并需要填充相关字段
关于第二部分。如果您需要为一个用户提供多个权限,那么该怎么办?在这种情况下,您可以启用多选选项,但我更希望在每个用户前面有一个复选框列表,并且我可以根据我的选项/选择进行选择
就个人而言,为了提供对应用程序的基于角色的访问,我将选择其他一些方法,例如Spring security,它是在考虑所有此类用例的情况下开发的
这是给你的工作副本
<s:form id="form1" name="form1" action="savePermissions">
<table>
<s:iterator value="emplList" var="emplVar">
<tr>
<td><s:textfield name="empl" value="%{emplName}" readonly="true"/>
</td>
</tr>
</s:iterator>
</table>
<s:submit value="save"/>
</s:form>
操作名称getPermissions1Action
应始终以大写字母(getPermissions1Action
)开头,但get/set应用于方法而不是类名
我不知道你为什么要定义动作构造函数
public getPermissions1Action() {
}
谢谢你!!此表单位于一个“div”中,它在更改第一个select元素时侦听发布的主题。因此,每当更改第一个选择时,“emplList”就会填充到action类中,并且该“emplList”的类型由“emplVar”定义,后者也在action中定义。在这里,我不确定是否可以像我所做的那样指定组件的value属性,即在value属性中指定property标记。这行得通吗?其次,我授予权限的方式是这样的-->如果给用户更高的权限,他也有更低的权限。因此,如果用户具有写入权限,那么他也具有读取权限。因此,我只需要选择一个权限。首先,删除
id
它已被弃用,并且您已经为此使用了var
,以及为什么要使用“”,因为在迭代器工作时,它已经将您的对象推到了值堆栈的顶部,因此您可以引用easilyAs以获得安全性,请提供一些好的基本文档,像我这样的初学者可以使用。我想尝试并实现这一点。但我担心的是,通过定制前端,我会获得同样的灵活性。为此目的,还有哪些其他选择/框架。目前,我正在使用LDAP对Active Directory中的用户进行身份验证。所以这也必须牢记在心。我只是在试验,所以我把id作为试验,将删除它。第二,你的意思是我可以直接在“选择”的value属性中指定“emplName”吗
public class empl {
private String emplName;
private String selPer;
public String getEmplName() {
return emplName;
}
public void setEmplName(String emplName) {
this.emplName = emplName;
}
public String getSelPer() {
return selPer;
}
public void setSelPer(String selPer) {
this.selPer = selPer;
}
}
The employee text fields do not get populated with the values.
<s:form id="form1" name="form1" action="savePermissions">
<table>
<s:iterator value="emplList" var="emplVar">
<tr>
<td><s:textfield name="empl" value="%{emplName}" readonly="true"/>
</td>
</tr>
</s:iterator>
</table>
<s:submit value="save"/>
</s:form>
@Override
public String execute(){
empl var = new empl();
List<empl> empl = new ArrayList<empl>();
// Ther is no need to define this instead you can add directly to emplList
like emplList.add(object);
try{
for(int i=0;i<3;i++){
var.setEmplName("name");
var.setSelPer("view");
empl.add(var);
}
}catch(Exception e){
System.out.println(e.getMessage());
}
setEmplList(empl);
setModuleList();
setPerList();
return SUCCESS;
}
public getPermissions1Action() {
}