这可能吗?我该怎么做呢?例如,如果我有一个person对象:
public class Person
{
// Field
public string name;
// Method
public void SetName(string newName)
{
name = newName;
}
}
如何从JSP页面访问Person.name ?网络服务能帮我吗?
没有直接的方法。
首先,你必须将你的Java应用程序与。net (c#, VB.net或其他)应用程序进行通信,可能是通过使用Web服务。然后,在Java应用程序中,您将检索数据并按需要处理它。这是最通用的方法。
为JSF:- 您可以从托管bean或服务层触发请求。在我看来,最好是在服务层实现。 检索数据后,您可以将其解析回POJO (Java Plain Old Object)以简化其使用。这个POJO可以在一个托管bean字段中设置,然后可以很容易地在视图中使用(JSP或Facelets,取决于您使用哪一个)。
public class Person {
private Integer id;
private String name;
//getters and setters...
}
public class PersonService {
public Person findPerson(Integer id) {
//code to retrieve the person object from web service call
//and convert the response into Person object
Person person = ...
return person;
}
}
@ManagedBean
@RequestScoped
public class PersonBean {
private Integer personId;
private Person person;
public void findPerson() {
PersonService personService = new PersonService();
this.person = personService.findPerson(personId);
}
}
在您的视图中(最小示例):
<h:form>
Person id:
<h:inputText value="#{personBean.personId}" />
<h:commandButton value="Find person" action="#{personBean.findPerson}" />
</h:form>
<ui:fragment rendered="#{not empty personBean.person}">
Person name: #{personBean.person.name}
</ui:fragment>
<ui:fragment rendered="#{empty personBean.person}">
Person not found.
</ui:fragment>
我认为web service是唯一的解决方案